下面的代码是我正在编写的程序的一部分,该程序在每个 .py、.sh 上运行一个方法。或目录及其文件夹中的 .pl 文件。
for root, subs, files in os.walk("."):
for a in files:
if a.endswith('.py') or a.endswith('.sh') or a.endswith('.pl'):
scriptFile = open(a, 'r')
writer(writeFile, scriptFile)
scriptFile.close()
else:
continue
编写程序时,它在我编写的目录树中工作,但是当我将其移动到另一个文件夹以在那里尝试时,我收到此错误消息:
Traceback (most recent call last):
File "versionTEST.py", line 75, in <module>
scriptFile = open(a, 'r')
IOError: [Errno 2] No such file or directory: 'enabledLogSources.sh'
我知道发生了一些奇怪的事情,因为该文件肯定在那里......
最佳答案
您需要将根目录添加到文件名
scriptFile = open(root + '/' + a, 'r')
关于Python IO错误: [Errno 2] from recursive directory call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618913/