2016-10-17 7 views
2

현재 "temperature.txt"라는 텍스트 파일을 열려고합니다. 파일 처리기를 사용하여 바탕 화면에 저장했는데 어떤 이유로 작동하지 않습니다. 아무도 내가 무엇을 잘못하고 있는지 말해 줄 수 없었습니다.어떻게 파이썬에서 텍스트 파일을 열 수 있습니까?

#!/Python34/python 
from math import * 

fh = open('temperature.txt') 

num_list = [] 

for num in fh: 
    num_list.append(int(num)) 

fh.close() 
+2

오류가 표시되면 알려주세요. 텍스트 파일에서 귀하의 데이터에 대한 간단한 설명도 도움이 될 것입니다. – RichArt

+0

'FileNotFoundError' -'tempertature.txt'는'.py' 파일과 같은 디렉토리에 있어야합니다. 'ValueError' - (파일에서 읽은) 문자열을 int로 변환하려하지만 int가 아닙니다. '출력을 볼 수 없습니다'- 귀하의 목록을 인쇄하십시오. –

+0

코드에 아무런 문제가 없습니다. 도움이 필요하면 오류도 함께 제공해야합니다. 그러나 이전의 주석에서와 같이 문제는 대부분 파일이 존재하지 않거나 (또는 ​​스크립트가 잘못된 디렉토리를 찾고 있음) 파일에 숫자가 아닌 행 (예 : 파일이 끝나더라도 for 루프에서 오류가 발생할 수 있습니다. – Shadow

답변

-1
당신은 단순히이 같은

FH에 .readlines()를 사용할 필요가

:

#!/Python34/python 
from math import * 

fh = open('temperature.txt') 

num_list = [] 

read_lines = fh.readlines() 
for line in read_lines: 
    num_list.append(int(line)) 

fh.close() 
+0

라인을 의미합니다. –

+0

그 점을 알려 주셔서 감사합니다. 빨리 편집했습니다! – Moardant

+1

실제로 사실이 아닙니다. ''readlines''를 호출하면 전체 파일을 메모리에로드 할 수 있습니다.하지만 메모리를 한꺼번에 남겨두면 더 큰 파일을 더 효율적으로 사용할 수 있습니다. @ shadow가 말한 것처럼 – Shadow

0

이 작업을 수행하는 파이썬 방법은

#!/Python34/python 
from math import * 

num_list = [] 

with open('temperature.text', 'r') as fh: 
    for line in fh: 
     num_list.append(int(line)) 

당신은 할 수 없습니다 'with'문이 자동으로이를 처리하기 때문에 여기에서 가까이 사용해야합니다. - 당신은 지능형리스트에 익숙한 경우

이 또 다른 방법 :

#!/Python34/python 
from math import * 

with open('temperature.text', 'r') as fh: 
    num_list = [int(line) for line in fh] 

현재 디렉토리에 있어야 두 경우 모두 'temperature.text'에서, 나는 수학 모듈 가져 오기를 떠난 있지만 어느 쪽도 없습니다 코드 조각이 필요합니다

+0

두 예제 모두에서 파일 이름 다음에 인용 부호가 누락되었습니다. – Shadow

+0

@shadow - 빠른 편집으로 쉽게 고정 :-) - 모두 완료되었습니다. –

+0

그게 훨씬 낫 네요 :) – Shadow