2013-05-31 18 views
6

Czy ktoś używa "Enthought Canopy"?Python in Enthought Canopy: IOError Brak takiego pliku lub katalogu

Powtarza mi się IOError. Ale jestem całkiem pewny, że nazwa pliku tekstowego jest właściwa i znajduje się w tym samym katalogu z plikiem Pythona, a kod działa dobrze w innym pythonie IDLE.

Nie wiem, gdzie jest błąd. Jakieś sugestie?

Dziękuję!

---> 21  inFile = open('words.txt', 'r') 
22  words = inFile.read().split() 

IOError: [ERRNO 2] Nie ma takiego pliku lub katalogu: 'words.txt'

+0

Upewnij się, że nie jest ' 'words.txt.txt''. –

+0

jest obecny w tym samym katalogu, co plik Pythona? – karthikr

+0

Dziękuję, odpowiedź punchagana działa dla mnie! – Aimee

Odpowiedz

16

UPDATE: Poniższy Hack nie jest wymagane w wersji 1.0.3 Canopy i większych. Kliknij prawym przyciskiem myszy w panelu Python i wybierz Keep Directory Synced to Editor.

Katalog roboczy powłoki Pythona nie jest zsynchronizowany z edytorem. Tak więc katalog roboczy powłoki Pythona prawdopodobnie nie jest taki sam jak plik Pythona. Aby zmienić katalog powłoki na katalog w pliku Pythona:

  1. Otwórz odpowiedni plik pythona.
  2. prawym przyciskiem myszy wewnątrz panelu Pythona i wybierz opcję „Zmień do edytora katalogu”

nadzieję, że pomoże.

Powyższe rozwiązanie jest rzeczywiście poprawne. Niestety jest to konieczne nawet w obecnej wersji Canopy - wersja: 1.3.0 (64-bitowy)

+1

Domyślnie w powłoce ipython w Canopy znajduje się katalog roboczy, w którym znajduje się words.txt, w katalogu domowym użytkownika. Ale twój plik Pythona jest prawdopodobnie gdzieś indziej. W ipythonie "pwd będzie zwykle" Drukować katalog roboczy ", a" cd xxx "pozwoli ci zmienić katalog roboczy –

+0

Dziękujemy !, działa! – Aimee

+0

W wersjach Canopy w wersji 1.0.3 i nowszych, kliknij prawym przyciskiem myszy w panelu Python, i wybierz opcję "Keep Directory Synced to Editor". – punchagan

0

Możliwe jest również, aby otworzyć plik txt kiedy daje pełną ścieżkę w nawiasach, aby zmienić wszystkie \ z /

od:

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

do:

text=open('C:/Users/Korisnik/Desktop/abeceda.txt') 
Powiązane problemy