2014-11-06 3 views
0

아래의 코드로 도와 주시겠습니까? 왜 txt 파일의 내용을 폴더에 인쇄하지 않는지 이해할 수 없습니까?파이썬을 통해 txt 파일에서 데이터 가져 오기

import os 
directory = raw_input("Provide the folder location") 
for files in os.listdir(directory): 
    if files.endswith(".txt"): 
     f=open(files, 'r') 
     for line in f.readlines(): 
      print line 
+0

'파일 '을 인쇄 하시겠습니까? 죽어라? '.txt'로 끝나나요? –

답변

2

os.listdir은 루트 폴더가없는 이름 만 반환합니다.

fileFullPath = os.path.join(directory, files) 
+0

정말 고마워 !! 그 일 – Prix

0

당신이 필요 당신이

을 파일 이름을 열려고 아닌 전체 파일 경로 때문에 당신은 파일을 여는되지 않은 : 파일을 읽기 위해서는 , 전체 경로 처리해야 열려있는 메소드에 디렉토리를 추가하십시오.

f=open(directory + files, 'r') 

그러면 작동합니다. 코드를 실행하려고했을 때 FileNotFoundError 오류가 발생했을 가능성이 큽니다.

import os 
dir = 'G:\Dev\\' 
for files in os.listdir(dir): 
    if files.endswith(".txt"): 
     f=open(dir + files, 'r') 
     for line in f.readlines(): 
      print (line) 

이 코드에는 디렉터리가 하드 코드되어 있습니다. raw_input은 python3에서 이름을 입력으로 변경했습니다.이 코드를 수정하여이 작업을 수행 할 수 있습니다.