python中txt = open(filename) 返回的是文件的内容吗?这小段话看不懂

aipuduo 2015-06-20 07:32:52
一本书上的问题:txt = open(filename) 返回的是文件的内容吗?

给出的解释是这样的:
不是,它返回的是一个叫做“file object”的东西,你可以把它想象成20世纪50年代的大型计算机上可以见到的古老的磁带机或者现代的 DVD 机。你可以随意访问内容的任意位置,然后读取这些内容,不过这个 文件本身并不是它的内容。



我感觉这里文件和内容搞混了,看不懂
...全文
455 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把文件比作一个数据仓库 open方法拿到文件对象 就像是拿到了打开仓库门的钥匙 而文件内容 就是仓库里的数据 你必须拿到钥匙 才取得到这些数据
daoqinzi 2015-06-24
  • 打赏
  • 举报
回复
我是这样理解的,返回的“file object”相当于拿到了光盘,,但是如果想读取里面的内容的话还得如“read”
ForestDB 2015-06-21
  • 打赏
  • 举报
回复
书上举的例子并不准确,tape和dvd的例子是想表示文件可以“随机访问”而已 对于这种“抽象”的东西,不要指望能通过具体的东西来理解,只能通过抽象练习,掌握抽象思维 从思维的本身来理解
daemonLxh 2015-06-21
  • 打赏
  • 举报
回复
一切皆对象
aipuduo 2015-06-20
  • 打赏
  • 举报
回复
引用 3 楼 ForestDB 的回复:
不是,txt为一“文件对象”,通过它,可以得到文件的内容,但是这并不表示它就是文件的内容。
txt就相当于一个文件的名字或路径、通过它可以找到文件的内容?或者它相当于一个光盘、内容存在它的里面吗?好难理解
ForestDB 2015-06-20
  • 打赏
  • 举报
回复
不是,txt为一“文件对象”,通过它,可以得到文件的内容,但是这并不表示它就是文件的内容。
fifaquake 2015-06-20
  • 打赏
  • 举报
回复
文件不仅有内容,还有其它属性。比如文件的Size,创建时间等等
aipuduo 2015-06-20
  • 打赏
  • 举报
回复
对了,原程序是这样的: from sys import argv script, filename = argv txt = open(filename) print "Here's your file %r:" % filename print txt.read()

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧