<p>我已经有代码可以修改程序所在目录中的一个.edi文件(testedifact.edi)。
但是,我需要在包含许多.edi文件的文件夹中运行脚本,因此我基本上希望将代码应用于每个文件</p>
<p>以下是我在一个文件中使用的内容:</p>
<pre><code>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()
</code></pre>
<p>但我希望能够对该目录之外的文件以及网络驱动器上的文件执行此操作</p>
<p>我试着遍历我目录中的文件(作为一个小测试),并像这样将每个文件传递给“<code>with open..</code>”</p>
<pre><code>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)
</code></pre>
<p>虽然它会打印文件名,但我还是得到了<code>FileNotFoundError: [Errno 2] No such file or directory: 'testedifact - Kopie (10).edi'</code>。。我做错了什么</p>
<p>有人能帮忙吗</p>