我想创建一个读取文本文件的程序

时间:2013-05-05 09:46:10

标签: python

如果我在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中执行这个程序,它什么也没显示。 请告诉我为什么..

1 个答案:

答案 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()

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