Прежде всего, на этом форуме был задан вопрос о том же ошибке нет. что я прошу помощи; однако, после решения упомянутых там решений, я чувствую, что моя проблема другая.python - IOError: [Errno 2] Нет такого файла или каталога на OSX Yosemite
Я использую Python 2.7 через IDLE на Mac OS X Yosemite.
Я пытаюсь записать данные, загруженные в CSV-файл в определенной уже созданной папке. Строка кода, который генерирует ошибку в
fc = open('%s/try.csv' % (dl_dir), 'w')
где
dl_dir = 'quandl/futures/ES'
ошибка я получаю
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
fc = open('%s/try.csv' % (dl_dir), 'w')
IOError: [Errno 2] No such file or directory: 'quandl/futures/ES/try.csv'
Сначала я выполнил эту команду без файла try.csv
присутствует в указанная директория, поскольку в документации по open
указано, что команда создаст файл, если он еще не присутствует. Получив эту ошибку я создал try.csv
в указанном каталоге, дал 'read','write'
и 'execute'
разрешения на файл
Parikshits-MacBook-Pro:ES parikshitbhinde$ chmod a+wrx try.csv
Parikshits-MacBook-Pro:ES parikshitbhinde$ ls -l
total 8
-rwxrwxrwx 1 parikshitbhinde staff 4 Jan 26 19:18 try.csv
Даже после этого я по-прежнему получаю ту же ошибку. Любая помощь?
Примечание: код работает даже без создания файла на Python 2.7 на Ubuntu 14,01
Благодарности
Я вижу, вы используете относительный путь. Возможно ли, что вы используете сценарий для другого пути на Mac? Попробуйте запустить его с тем же относительным местоположением или исправить dl_dir до абсолютного пути. –
Вы имеете в виду 'dl_dir = '~/quandl/futures/ES''? Я тоже пробовал это с той же результирующей ошибкой. Если нет, то можете ли вы быть более конкретным. Кроме того, я только что открыл IDLE и запустил код, есть ли способ изменить рабочий каталог для IDLE? –
'os.path.dirname (__ file __)' даст вам путь к текущему файлу python. Используйте это для относительных путей к файлам. Или используйте абсолютный путь. Я бы не стал полагаться на '~', так как это зависит от платформы и изменится в зависимости от того, какой пользователь запускает скрипт. –