IOError when trying to open existing files

折月煮酒 提交于 2019-12-28 04:35:06

问题


I have a small issue with a python program that I wrote to extract some information from a special text file. The loop (code below) needs to execute my function extract_zcoords() over 500 files (1 file gives one list) so that I can build a dataset.

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) 

THE ERROR: The IOException No such file or directory is the one that occurs, so for some reason python is not accessing the files. I have checked directory pathname (location) and file permissions, and they are correct (read+write). Any ideas why an IOError would be reported when the files do exist and pathname is correct?

Any ideas what might be wrong?


回答1:


You need to join the dirname and filename into one complete path:

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



回答2:


Probably, you should use os.path.join when you call

zdata.extend(extract_zcoord(filename))

like this:

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


来源:https://stackoverflow.com/questions/10802418/ioerror-when-trying-to-open-existing-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!