2013-06-08 3 views
2

http://learnpythonthehardway.com에 대한 추가 질문이 있습니다. 파일을 열고 읽는 프로그램을 작성한 후, open 명령에 모드를 추가하기 위해 파일을 변경하려고했습니다. 하지만 그럴 때마다 None과 파일 내용이 반환됩니다.프로그램에 계속 정의가 없습니다.

다음
from sys import argv 

script, filename = argv 

txt = open(filename, "r") 

print "Here's your file %r:" % filename 
print txt.read() 
print txt.close() 

print "Type the filename again:" 
file_again = raw_input("> ") 

txt_again = open(file_again, "r") 

print txt_again.read() 
print txt_again.close() 

그것을 밖으로 인쇄 것입니다 : 여기

코드입니다

$ python ex15.py filey.txt 
Here's your file 'filey.txt': 
whatever 
None 
Type the filename again: 
> filey.txt 
whatever 
None 

슬래시 라인 사이.

난 당신이 지정하지 않은 경우 즉, 파이썬 반환 자동으로 None 설명하는 문제를 발견했다. 그러나 대신 return 명령을 사용하거나 인쇄 할 때 정의가 필요합니다. 정의를 추가 할 때 나머지 코드는 작동하지 않습니다. 이 None을 제거하려면 어떻게해야합니까?

누군가 "r"모드로 표시되는 이유를 설명 할 수는 있지만, 그렇지 않은 이유는 설명해 주시면 감사하겠습니다.

답변

6

모든 함수는 파이썬에서 값을 반환합니다.

print txt.close() 

는 그냥 print 문을 제거하고 당신은 괜찮을 것 : 당신은 None 될 일이 txt.close()의 결과를 출력

txt.close() 
+0

감사합니다, 완전히 고정이. – Danny

관련 문제