没有从列表中获取完整输出
Not getting the full output out of a list
Objective
我正在尝试从一堆 JPG 中提取 GPS“纬度”和“经度”数据,到目前为止我已经成功了,但我的主要问题是当我尝试将坐标写入文本文件时例如,与我的控制台输出相比,我看到只写了一组坐标,这表明每个图像都被提取了。这是一个例子:Console Output and here is my text file that is supposed be a mirror output along my console: Text file
我不完全理解问题是什么以及为什么它不会只写所有而不是一个。我相信它正在以某种方式被覆盖,或者 'GPSPhoto' 模块导致了一些问题。
代码
from glob import glob
from GPSPhoto import gpsphoto
# Scan jpg's that are located in the same directory.
data = glob("*.jpg")
# Scan contents of images and GPS values.
for x in data:
data = gpsphoto.getGPSData(x)
data = [data.get("Latitude"), data.get("Longitude")]
print("\nsource: {}".format(x), "\n ↪ {}".format(data))
# Write coordinates to a text file.
with open('output.txt', 'w') as f:
print('Coordinates:', data, file=f)
我已经尝试了几乎所有我能想到的方法,包括:更改写入权限、不使用 glob、无循环、循环、列表、无列表、不同的写入文件的方式等。
感谢您的帮助,因为此时我完全迷路了。谢谢。
您每次通过循环替换 data
变量,而不是附加到列表。
all_coords = []
for x in data:
data = gpsphoto.getGPSData(x)
all_coords.append([data.get("Latitude"), data.get("Longitude")])
with open('output.txt', 'w') as f:
print('Coordinates:', all_coords, file=f)
Objective
我正在尝试从一堆 JPG 中提取 GPS“纬度”和“经度”数据,到目前为止我已经成功了,但我的主要问题是当我尝试将坐标写入文本文件时例如,与我的控制台输出相比,我看到只写了一组坐标,这表明每个图像都被提取了。这是一个例子:Console Output and here is my text file that is supposed be a mirror output along my console: Text file
我不完全理解问题是什么以及为什么它不会只写所有而不是一个。我相信它正在以某种方式被覆盖,或者 'GPSPhoto' 模块导致了一些问题。
代码
from glob import glob
from GPSPhoto import gpsphoto
# Scan jpg's that are located in the same directory.
data = glob("*.jpg")
# Scan contents of images and GPS values.
for x in data:
data = gpsphoto.getGPSData(x)
data = [data.get("Latitude"), data.get("Longitude")]
print("\nsource: {}".format(x), "\n ↪ {}".format(data))
# Write coordinates to a text file.
with open('output.txt', 'w') as f:
print('Coordinates:', data, file=f)
我已经尝试了几乎所有我能想到的方法,包括:更改写入权限、不使用 glob、无循环、循环、列表、无列表、不同的写入文件的方式等。 感谢您的帮助,因为此时我完全迷路了。谢谢。
您每次通过循环替换 data
变量,而不是附加到列表。
all_coords = []
for x in data:
data = gpsphoto.getGPSData(x)
all_coords.append([data.get("Latitude"), data.get("Longitude")])
with open('output.txt', 'w') as f:
print('Coordinates:', all_coords, file=f)