2012-07-25 2 views
0

좋아, 나는 파이썬으로 텍스트 파일을 읽고 쓰는 법을 배우는 중이다. 파일 등을 읽을 수 있지만 write("my string")을 사용하여 파일을 작성하려고하면 예기치 않은 결과가 발생하고 파일을 작성하면 코드가 실행되지만 내 보낸 첫 번째 줄은 완전히 인쇄되지 않습니다. 이것은 Vim에서 pymode 및 명령 행뿐만 아니라 해석기에서 발생합니다. I 출력은 다음과 같이됩니다 data.txt에 쓸 수있는이 파일을 실행 이제파이썬으로 텍스트 파일을 작성하면 이상한 결과가 나타 납니까?

#!/usr/bin/python 

f = open('/Users/Desktop/data.txt', 'r+') 

f.write("Test") 


for lines in f: 
    print lines 

f.close() 

:

추정을 < ------ 테스트에서 "T"완전히 절단 여기에 코드입니다 떨어져서. 이것이 의미가 있기를 바랍니다. 미리 감사드립니다.

+1

'for' 루프 앞에'f.seek (0)'을 추가하면 문제가 해결됩니까? – cdhowie

+0

또한 "Test"또는 "est"가 포함되어 있는지 파일을 확인 했습니까? – jmetz

+1

'a +'또는'w +'를 사용해서는 안됩니까? http://stackoverflow.com/a/1466036/1248554 – BrtH

답변

3

당신의 문제는 파일 객체에 쓰고 곧바로 그것을 읽는 것입니다. 당신이 그것을 읽기 전에 파일에 쓸 수 있지만, 이후 라인

f.seek(0) 

를 추가

보십시오. 이것은 파이썬이 처음부터 찾고있는 파일의 위치를 ​​재배치합니다.

+0

감사합니다. 최대한 빨리 시도해 보겠습니다. – Gmenfan83

관련 문제