Вы не указываете полный путь к файлу open()
, просто его имя.
Вам потребуется либо os.path.join()
указать правильный путь к каталогу, либо os.chdir()
указать каталог.что файлы находятся в.
Из вашего кода я могу сделать вывод, что вы забыли изменить список file_array
.Чтобы исправить это, измените первый цикл следующим образом:
file_array = [os.path.join(prefix_path, name) for name in file_array]
Также помните, что os.path.abspath()
не может определить полный путь к файлу только по его имени.
Позвольте мне повторить.
Эта строка в вашем коде:
file_array = [os.path.abspath(f) for f in os.listdir(prefix_path) if f.endswith('.txt')]
неверна.Это не даст вам список с правильными абсолютными путями.То, что вы должны были сделать, это:
import os
import glob
prefix_path = ("C:/Users/mpotd/Documents/GitHub/Python-Sample-"
"codes/Mayur_Python_code/Question/wx_data/")
target_path = open('MissingPrcpData.txt', 'w')
file_array = [f for f in os.listdir(prefix_path) if f.endswith('.txt')]
file_array.sort() # file is sorted list
file_array = [os.path.join(prefix_path, name) for name in file_array]
for filename in file_array:
log = open(filename, 'r')