【发布时间】:2020-05-02 00:52:59
【问题描述】:
我已经有代码可以修改与我的程序位于同一目录中的一个 .edi 文件 (testedifact.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',尽管它会打印文件名.. 我做错了什么?
有人可以帮忙吗?
【问题讨论】:
标签: python directory edi contextmanager