如果我在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中执行这个程序,它什么也没显示。 请告诉我为什么..
答案 0 :(得分: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()
这意味着您不必担心以后手动关闭文件。