У меня уже есть код, который работает для изменения одного .edi-файла (testifact.edi) в том же каталоге, что и моя программа. однако мне нужно запустить мой сценарий для папки, содержащей много этих файлов .edi, поэтому я в основном хочу использовать свой код, который будет применен к каждому отдельному файлу
, вот что у меня работает с одним файлом:
segmentsNew = []
global segments
with open( "testedifact.edi" , "r+") as edifactile:
segments = edifactile.readlines()
versionNumber = getVersionNumber(segments)
for segment in segments:
#do stuffs
edifactile.close()
with open ("testedifact.edi" , "w") as edifactfile:
edifactile.writelines(segmentsNew)
edifactfile.close()
но я хочу сделать это для файлов за пределами этого каталога, а также для наших сетевых дисков.
Я попытался перебирать файлы в моем каталоге (как небольшой тест) и передача каждого файла в «with open..
», например,
directory = os.listdir(r'C:\Users\name\test_edi_dir')
for file in directory:
print("printing file names:", file)
with open(file, 'r') as edifactfile:
pass
print(edifactfile.closed)
, и я продолжаю получать FileNotFoundError: [Errno 2] No such file or directory: 'testedifact - Kopie (10).edi'
, хотя он печатает имя файла .. что я делаю неправильно?
может кто-нибудь помочь, пожалуйста?