#python #file
Вопрос:
Я изучаю Python (с помощью книги ускоренного курса Python) и в настоящее время работаю с климатическими данными NOAA, но каждый раз, когда я пытаюсь импортировать файл, Python его не находит. У меня тоже была эта ошибка для других программ, и я действительно не могу ее решить. Кто-нибудь может мне помочь, пожалуйста ? Вот мой код :
import csv
filename = 'new-york-weather_60-20.csv'
try :
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
print(header_row)
except FileNotFoundError:
print(f"Sorry, the file {filename} does not exist.")
Комментарии:
1. попробуйте указать полный путь к файлу, например
r'C:My Documents<file>'
, или где бы он ни находился. Если он не находится в том же каталоге, что и ваш скрипт на python, он его не найдет.2. Что имеет значение, так это текущий каталог ядра python, а не каталог скрипта. Вы можете проверить это с
import os; os.getcwd()
помощью («получить текущий рабочий каталог»). Если файл находится в этом каталоге, он должен работать.3. Добро пожаловать в Stack Overflow. Знаете ли вы, что такое текущий рабочий каталог ? Вы видите эту фразу в книге? Если вы это сделаете, пожалуйста, прочтите этот раздел очень внимательно. В противном случае попробуйте ввести этот термин в поисковую систему. (Чтобы понять проблему: своими словами, где, по вашему мнению, Python должен искать этот файл на жестком диске и почему?)
4. Импортируйте
os
и поместитеprint(os.listdir('.'))
, чтобы увидеть, какие файлы находятся в текущем рабочем каталоге.
Ответ №1:
Интерпретатор Python предполагает, что файл 'new-york-weather_60-20.csv'
находится в том же каталоге (папке), где в данный момент «находится» python, т. Е. в текущем рабочем каталоге.
Вы можете просмотреть текущий рабочий каталог с помощью os
модуля.
import os
print(os.getcwd())
Это должен быть путь, по которому csv
находится файл. Если это не так, вы можете либо переместить файл в то же место, либо переместить текущий рабочий каталог в путь, в котором находится файл
import os
os.chdir('/the/location/on/your/computer/wherethefileislocated')
filename = 'new-york-weather_60-20.csv'
# You can check if the file is located in this directory
if os.path.exists(filename): # only if this file exists in this location do we continue
print('The file exists!')
with open(filename) as f:
# your code goes here
else:
print('The file does not exist in this directory')
Комментарии:
1. Я сохранял некоторые из своих программ в неправильном файле, и, думаю, путь был недостаточно точным. Я написал правильный путь к файлу, и это сработало. Спасибо!