2010-04-19 53 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