在Python中打开.out文件

在Python中打开.out文件,python,ioerror,Python,Ioerror,我认为Python不能打开和读取.out文件,对吗 我的应用程序目前输出了一堆.out文件,这些文件将被手动读取以用于日志记录,我正在构建一个Python脚本来自动执行此操作 当脚本到达以下位置时 for file in os.listdir(DIR_NAME): if (file.endswith('.out')): open(file) 脚本出现以下错误“IOError:没有这样的文件或目录:'Filename.out'” 我有一个与上述代码类似的函数,工作正常,只

我认为Python不能打开和读取.out文件,对吗

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

当脚本到达以下位置时

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(file)
脚本出现以下错误“IOError:没有这样的文件或目录:'Filename.out'”

我有一个与上述代码类似的函数,工作正常,只是它读取.err文件。在上述代码之前打印出目录名也会显示所指向的正确目录。

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

for file in os.listdir(DIR_NAME):
    if (file.endswith('.out')):
        open(os.path.join(DIR_NAME, file))
os.listdir()
只返回文件名,不返回完整路径。使用
os.path.join()
创建完整路径:

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

作为一种选择,我发现使用起来更简单、更灵活:

import glob,os

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

Glob还将接受诸如
“*/*.out”或
“*某物*.out”
之类的内容。我还阅读某些类型的文件,发现这非常方便。

作为一种替代方法,我发现使用起来更简单、更灵活:

import glob,os

for outfile in glob.glob( os.path.join(DIR_NAME, '*.out') ):
    open(outfile)
Glob还将接受诸如
“*/*.out”或
“*某物*.out”
之类的内容。我还阅读某些类型的文件,发现这非常方便