在Python中打开.out文件

时间:2013-01-25 16:26:05

标签: python ioerror

我认为Python无法打开和读取.out文件吗?

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

当脚本进入以下

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

脚本出现以下错误“IOError:No such file or directory:'Filename.out'”

我使用上面的代码有类似的功能,工作正常,只读取.err文件。在上述代码之前打印出DIR_NAME也会显示正在指向的正确目录。

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

import glob,os

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

Glob还会接受'*/*.out''*something*.out'之类的内容。我还阅读了某些类型的文件,并发现这非常方便。