0

如果我在 python shell 上键入它,它确实有效

>>> f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
>>> f.read()
'plpw eeeeplpw eeeeplpw eeee'
>>> f.close()

但是如果我创建一个python程序,我就不行了。

import os
f= open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
f.read()
f.close()

我使用文本编辑器保存了这段代码。如果我在 python shell 中执行这个程序,它什么也不显示。请告诉我为什么..

4

1 回答 1

5

在交互式提示中,它会自动打印函数调用返回的任何内容。这意味着 的返回值f.read()是自动打印的。但是,当您将其放入程序中时不会发生这种情况,因此您必须print自己让它显示出来。

import os
f = open(os.path.join(os.getcwd(), 'test1.txt'), 'r')
print f.read()  # use print(f.read()) in Python 3
f.close()

我会提出的另一个建议是使用一个with块:

import os
with open(os.path.join(os.getcwd(), 'test1.txt'), 'r') as f:
    print f.read()

这意味着您不必担心事后手动关闭文件。

于 2013-05-05T09:48:13.610 回答