下面的代码是我正在编写的程序的一部分,该程序在每个.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')

07-26 06:07