2010-04-19 106 views
1

我想写一个下标,每次运行脚本时都会向脚本添加一个唯一的标识符(机器时间)。但是,每次我编辑脚本(在IDLE中)时,都会覆盖这些注释符。有没有一个这样做的优雅方式。我写的脚本如下所示。写脚本的唯一标识符?

import os, time 

f = open('sys_time_append.py','r') 
lines = f.readlines() 
f.close() 
fout = open('sys_time_append.py','w') 


for thisline in lines: 
    fout.write(thisline) 
fout.write('\n#'+str(time.time())+' s r\n') 
fout.close() 

感谢您的任何帮助。

回答

0

我希望这是做一件危险的事情,但它的工作原理:

import os, time 

print "Hi, ", __file__, '!' 

with open(__file__, 'a') as fout: 
    fout.write('\n#'+str(time.time())+' s r\n') 

注意,我拿到剧本为__file__的名称,以及(但这不是完整的路径,所以如果cwd改变,可能会出现问题)。

或者我在“IDLE”中的引用中缺少一些重要的东西吗?在脚本附加脚本时,您可能无法在编辑窗口中激活脚本。节目不可能知道哪些“控制”。

+0

如果您运行.pyc文件,这肯定会使有趣的事情发生...... – badp 2010-04-20 10:03:19