from sys import argv
script, filename = argv
txt = open(filename)
print "Here's your file %r:" % filename
print txt.read()
当我运行此代码时,使用文本文件的名称作为参数'ex15_sample.txt',然后它返回文本文档中的内容。
但是当我将最后一行更改为:
print txt
然后显示:
<open file 'ex15_sample.txt', mode 'r' at 0x004A6230>
我不确定区别是什么,因为txt
变量应该打开文件。我理解read
命令读取文件,但在文档中它说open
一个返回文件对象,我不确定这意味着什么。
答案 0 :(得分:5)
open()
函数将返回file
object,其表示确实为:<open file 'ex15_sample.txt', mode 'r' at 0x004A6230>
。
为了获取文件的内容,您需要read()
它。这就是为什么当你print txt.read()
得到你期望的时候。