Написание уникального идентификатора для скрипта? - PullRequest
1 голос
/ 19 апреля 2010

Я хотел бы написать нижний индекс, который добавляет уникальный идентификатор (машинное время) к сценарию при каждом запуске. Однако каждый раз, когда я редактирую сценарий (в 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()

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 19 апреля 2010

Я ожидаю, что это опасно, но это работает:

import os, time

print "Hi, ", __file__, '!'

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

Обратите внимание, что я получаю имя скрипта также как __file__ (но это не полныйpathname, поэтому могут быть проблемы, если cwd изменен).

Или я что-то упустил в ссылке на "редактирование в IDLE", которая имеет значение здесь?Скорее всего, вы не сможете активировать скрипт в окне редактирования, пока он добавляется скриптом.Программы не могут знать, у кого есть «контроль».

...