2014-09-19 3 views
2

시놉시스 : 어떻게 파일을 파이썬으로 읽나요? 왜 이렇게해야합니까?FileNotFoundError : [Errno 2]

다음 코드에서 유래
Traceback (most recent call last): 
    File "C:\Users\Terminal\Desktop\wkspc\filetesting.py", line 1, in <module> 
    testFile=open("test.txt") 
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt' 

: (즉, 전체 '평'파일)

testFile=open("test.txt") 
print(testFile.read()) 

"TEST.TXT

내 문제는 내가 다음과 같은 오류를 얻을 수 있다는 것입니다 "내 프로그램과 같은 폴더에 있습니다. 필자는 Python을 처음 사용하고 파일 위치 오류가 발생하는 이유를 이해하지 못합니다. 수정본을 알고 싶습니다. 왜 그런 식으로 수정해야하는지. 당신이 IDLE을 사용하고 있기 때문에

"Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit (Intel)] on win32" 
Windows 7, 32 Bit 
+3

다른 이유로 인한 것 같습니다. 1.''test.txt ''를 사용하여 파이썬 스크립트를 어떻게 호출 할 수 있습니까? 2. 전체 경로를 사용하려면 문자를 이스케이프하지 마십시오 (예 :'r "C : \ Users \ Terminal \ Desktop \ wkspc \ test.txt"'r에주의하십시오) – starrify

+0

명령을 표시 할 수 있습니까? 스크립트로 파이썬을 시작하는 데 사용합니까? –

+1

파이썬을 사용하여 파이썬 스크립트와 같은 디렉토리에서'test.txt'를로드하려면 파이썬을 시작할 때 그 디렉토리에 있어야합니다. 내 유일한 추측은 다른 곳에서 파이썬 스크립트를 시작한다는 것입니다. –

답변

11

:

내가 파일에 대한 절대 경로를 사용하여 시도는 :

기타 자세한 내용은 "C \ 사용자 터미널 \ 바탕 화면 \ wkspc \ TEST.TXT을 \" (GUI) 스크립트가 상주하는 디렉토리에서 스크립트가 시작되지 않을 수 있습니다. 나는 가장 좋은 대안이 뭔가 함께 갈 생각 : 현재 실행중인 스크립트가있는 곳

import os.path 

scriptpath = os.path.dirname(__file__) 
filename = os.path.join(scriptpath, 'test.txt') 
testFile=open(filename) 
print(testFile.read()) 

os.path.dirname(__file__) 디렉토리를 찾을 수 있습니다. 그런 다음 os.path.join을 사용하여 해당 경로 앞에 test.txt을 추가합니다.

이것이 작동하지 않으면 나는 test.txt이 실제로 실행중인 스크립트와 같은 디렉토리에 있지 않다고 추측 할 수 있습니다.

+1

이 작업, 고마워요! 바라건대, 나는 일단 교육을 받으면이 수정에서 벗어날 수 있습니다. – ThisGuy

+0

일반적으로 파일 이름의 전체 경로를 지정합니다 (제안 된 내용도 효과가 있었을 것입니다). 그러면 문제가 해결되었을 것입니다. 이 코드는 스크립트가 시작된 방법과 어디에서 (다른 경로) 관계없이 작동합니다. –

관련 문제