IOError при попытке открыть существующие файлы
У меня есть небольшая проблема с программой на 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 ответа
Вам нужно объединить имя и имя файла в один полный путь:
location = '/Users/spyros/Desktop/3NY8MODELSHUMAN/HomologyModels'
for filename in os.listdir(location):
filename = os.path.join(location, filename)
Возможно, вы должны использовать os.path.join, когда вы звоните
zdata.extend(extract_zcoord(filename))
как это:
zdata.extend(extract_zcoord(os.path.join(location, filename)))