2

我正在研究http://learnpythonthehardway.com的额外问题。在编写了一个打开和读取文件的程序后,我尝试对其进行更改以将模式添加到打开命令中。但是每当我这样做时,它都会返回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

斜线在行之间。

我发现了一个问题,说明当您不指定时,python 会None自动返回。但是,当我尝试使用 return 命令时,或者除了打印之外,它需要一个定义。当我添加一个定义时,我无法让其余的代码工作。我怎样才能摆脱这个None

如果有人能解释为什么它以“r”模式出现,我也将不胜感激,但不能没有它。

4

1 回答 1

6

Python 中的每个函数都返回一个值。您打印出 的结果txt.close(),恰好是None

print txt.close()

只需删除该print语句,您就可以了:

txt.close()
于 2013-06-08T01:44:21.063 回答