как читать текст в файле TFW? - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь проверить значение в файле tfw .У меня много файлов tfw, и мне нужно пройти через все они в цикле и проверить, равно ли значение в первой строке x.

Я нигде не могу найти, как работать с tfwфайлы.Я знаю, что это похоже на текстовый файл (ASCII), но он не работает с xxx.readlines.Кто-нибудь знает, как мне прочитать первую строку?

ПРИМЕР:

0.6 -----> I NEED TO CHECK THIS VALUE
0 
0 
-0.6
355000.317
459999.682

Ответы [ 4 ]

0 голосов
/ 21 февраля 2019

Вы можете прочитать только первую строку файла:

with open('data.tfw', 'r') as f:
    value = float(f.readline())

    print(f'Value: {value}')
0 голосов
/ 20 февраля 2019

Код ниже (если он не работает, вам придется загрузить входной файл в общедоступное место, чтобы его можно было проверить по коду)

with open('tfw.txt','r') as tfw:
    x-scale= float(tfw.readlines()[0])
    print('x-scale value: {}'.format(x-scale))
0 голосов
/ 21 февраля 2019

теперь работает:

    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]
0 голосов
/ 20 февраля 2019

Поскольку это текстовый файл, вы можете сделать это следующим образом:

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
...