【文件属性】:
文件名称:可执行对象语句和内建函数-qt教学大纲
文件大小:5.26MB
文件格式:PDF
更新时间:2021-06-04 01:59:57
python 核心编程 中文版 高清文字版
14.3 可执行对象语句和内建函数
注意一旦执行完毕,继续对 exec 的调用就会失败。呃,并不是真正的失败。。。只是不再做任何
事,这或许让你感到吃惊。事实上,exec 已从文件中读取了全部的数据且停留在文件末尾(EOF)。当
用相同文件对象对 exec 进行调用的时候,便没有可以执行的代码了,所以 exec 什么都不做,如同
上面看见的行为。我们如何知道它在 EOF 呢?
我们用文件对象的 tell()方法来告诉我们处于文件的何处,然后用 os.path.getsize()来告诉
我们 xcount.py 脚本有多大。这样你就会发现,两个数字完全一样:
>>> f.tell() # where are we in the file? # 我们在文件的什么地方?
116
>>> f.close() # close the file # 关闭文件
>>> from os.path import getsize
>>> getsize('xcount.py') # what is the file size? # 文件有多大?
116
如果想在不关闭和重新打开文件的情况下再次运行它,可以用 seek()到文件 开头并再次调用
exec 了。比如,假定我们还没有调用 f.close(),那么我们可以这样做:
>>> f.seek(0) # rewind to beginning 倒会文件开头
>>> exec f
x is currently: 0
incrementing x to: 1
incrementing x to: 2
incrementing x to: 3
incrementing x to: 4