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

관련 문제