0

我认为 Python 无法打开和读取 .out 文件是否正确?

我的应用程序当前吐出一堆 .out 文件,这些文件将被手动读取以用于日志记录,我正在构建一个 Python 脚本来自动执行此操作。

当脚本到达以下

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(file)

该脚本因以下错误而爆炸“IOError:没有这样的文件或目录:'Filename.out'”

我有一个与上述代码类似的功能并且工作正常,只是它读取 .err 文件。在上述代码之前打印出 DIR_NAME 也表明指向了正确的目录。

4

2 回答 2

5

os.listdir()只返回文件名,而不是完整路径。用于os.path.join()创建完整路径:

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(os.path.join(DIR_NAME, file))
于 2013-01-25T16:27:08.387 回答
0

作为替代方案,我发现使用起来更容易和灵活:

import glob,os

for outfile in glob.glob( os.path.join(DIR_NAME, '*.out') ):
    open(outfile)

Glob 也将接受诸如'*/*.out'or之类的东西'*something*.out'。我还阅读了某些类型的文件,发现这非常方便。

于 2013-01-25T16:44:10.473 回答