2014-09-26 5 views
2

먼저 디렉토리의 모든 파일을 찾아 병합하는 작은 모듈을 작성했습니다. 그러나 디렉토리에서이 파일을 열 때 문제가 있습니다. 필자는 내 파일과 디렉터리 이름이 올바른지, 파일이 실제로 디렉터리에 있는지 확인했습니다. 다음은 디렉토리에서 파일을 열 수 없습니다.

은 .. 아래
seqdir = "results" 
outfile = "test.txt" 

for filename in os.listdir(seqdir): 
    in_file = open(filename,'r') 

오류입니다 .. 그냥 파일 이름을 반환은 listDir

 in_file = open(filename,'r')  
    IOError: [Errno 2] No such file or directory: 'hen1-1-rep1.txt' 
+0

절대 경로를 사용하지 않는 것이 문제 일 수 있습니다. isedev의 방금 게시 된 답변 참조 –

답변

4

코드입니다 : https://docs.python.org/2/library/os.html#os.listdir 당신은 파일을 열도록 fullpath에 필요합니다. 또한 파일을 열기 전에 파일인지 확인하십시오. 아래 샘플 코드.

for filename in os.listdir(seqdir): 
    fullPath = os.path.join(seqdir, filename) 
    if os.path.isfile(fullPath): 
     in_file = open(fullPath,'r') 
     #do you other stuff 

그러나 파일의 경우 with 키워드를 사용하는 것이 좋습니다. 예외가있을 때에도 폐사가 처리합니다. 자세한 내용 및 예는 https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects을 참조하십시오.

관련 문제