我正在尝试检查tfw file中的值。我有很多tfw文件,我需要在循环中检查所有这些文件并检查第一行中的值是否等于x。
我找不到任何地方如何使用tfw文件。我知道它就像一个文本文件(ASCII),但它不能与xxx.readlines
一起使用。有人知道如何阅读第一行吗?
例:
0.6 -----> I NEED TO CHECK THIS VALUE
0
0
-0.6
355000.317
459999.682
因为它是一个文本文件,你应该能够这样做:
tfw_file = open("filename", "r")
tfw_raw_data = tfw_file.read() #reading all text from file
tfw_file.close()
value_from_file = float(tfw_raw_data.split("\n")[0]) # splitting file by lines, getting first line and converting it to float
下面的代码(如果它不起作用,您必须将输入文件上传到公共位置,以便可以根据代码进行测试)
with open('tfw.txt','r') as tfw:
x-scale= float(tfw.readlines()[0])
print('x-scale value: {}'.format(x-scale))
它现在有效:
for filename in os.listdir(root):
if filename.endswith('.tfw'):
with open (os.path.join(root,filename)) as f:
content = f.read()
line = float(content.split("\n")[0]
您只能读取文件的第一行:
with open('data.tfw', 'r') as f:
value = float(f.readline())
print(f'Value: {value}')