我认为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也会显示正在指向的正确目录。
答案 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'
之类的内容。我还阅读了某些类型的文件,并发现这非常方便。