我在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的任何想法?
任何想法可能出错?
答案 0 :(得分:5)
您可能在调用
时使用os.path.joinzdata.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)