尝试打开现有文件时出现IOError

时间:2012-05-29 15:44:35

标签: python file-io ioerror fileparsing

我在python程序中遇到一个小问题,我写这篇文章是为了从特殊的文本文件中提取一些信息。循环(下面的代码)需要执行我的函数extract_zcoords()超过500个文件(1个文件给出一个列表),以便我可以构建数据集。

import os

def extract_zcoord(filename): 
    f = open(filename, 'r')         
    ... # do something with f


### LOOP OVER DIRECTORY 
location = '/Users/spyros/Desktop/3NY8MODELSHUMAN/HomologyModels' 

for filename in os.listdir(location):
    extract_zcoord(filename) 

错误: IOException No such file or directory是发生的,因此由于某种原因python不访问文件。我检查了目录路径名(位置)和文件权限,它们是正确的(读取+写入)。当文件存在且路径名是否正确时,为什么会报告IOError的任何想法?

任何想法可能出错?

2 个答案:

答案 0 :(得分:5)

您可能在调用

时使用os.path.join
zdata.extend(extract_zcoord(filename))
像这样:

zdata.extend(extract_zcoord(os.path.join(location, filename)))

答案 1 :(得分:2)

您需要将dirname和filename加入一个完整路径:

location = '/Users/spyros/Desktop/3NY8MODELSHUMAN/HomologyModels' 
for filename in os.listdir(location):
    filename = os.path.join(location, filename)