Файл Python open() в Enthought Canopy завершается с ошибкой: IOError Нет такого файла или каталога

Я запускаю код под Enthought Canopy, чтобы открыть и прочитать файл. Он продолжает говорить мне IOError.

Но я почти уверен, что имя текстового файла правильное, и он находится в том же каталоге, что и файл Python, и код хорошо работает в других IDE, таких как Python IDLE. Не знаю, что случилось. Какие-либо предложения?

inFile = open('words.txt', 'r')
words = inFile.read().split()

не работает с IOError: [Errno 2] No such file or directory: 'words.txt'


person Aimee    schedule 31.05.2013    source источник
comment
Убедитесь, что это не 'words.txt.txt'.   -  person Ashwini Chaudhary    schedule 31.05.2013
comment
он находится в том же каталоге, что и файл python?   -  person karthikr    schedule 31.05.2013
comment
Спасибо, ребята, ответ панчагана работает для меня!   -  person Aimee    schedule 31.05.2013


Ответы (2)


ОБНОВЛЕНИЕ: следующий хак не требуется в Canopy версии 1.0.3 и выше. Щелкните правой кнопкой мыши внутри панели Python и выберите Keep Directory Synced to Editor.

Рабочий каталог оболочки python не синхронизируется с открытым редактором. Таким образом, рабочий каталог вашей оболочки Python, вероятно, не совпадает с вашим файлом Python. Чтобы изменить каталог вашей оболочки на каталог вашего файла python:

  1. Откройте нужный файл Python.
  2. Щелкните правой кнопкой мыши внутри панели Python и выберите параметр «Изменить каталог редактора».

Надеюсь, это поможет.

Решение выше действительно правильное. К сожалению это необходимо даже в текущей версии Canopy - Версия: 1.3.0 (64 бит)

person punchagan    schedule 31.05.2013
comment
По умолчанию в оболочке ipython в Canopy ваш рабочий каталог, в котором будет найден файл words.txt, находится в домашнем каталоге вашего пользователя. Но ваш файл python, вероятно, находится где-то еще. В ipython pwd обычно печатает рабочий каталог, а cd xxx позволяет изменить рабочий каталог. - person Jonathan March; 31.05.2013
comment
В Canopy версии 1.0.3 и выше щелкните правой кнопкой мыши внутри панели Python и выберите Keep Directory Synced to Editor. - person punchagan; 23.07.2013

Также возможно открыть файл txt, указав полный путь в скобках, чтобы заменить все \ на /

от:

text=open('C:\Users\Korisnik\Desktop\abeceda.txt')

to:

text=open('C:/Users/Korisnik/Desktop/abeceda.txt')
person user3890841    schedule 30.07.2014