我搞砸了自我修改代碼的想法,我想用py2exe將文件更改爲.exe。我仍然可以讓代碼自行修改,還是需要將它保留爲.py?修改自己爲exe文件的Python文件?
自修改代碼:
self = "Strain_0.py"
def Write_self(lis):
ws = open(self, "a")
lis.append("t = open('database.txt', 'a')\n")
lis.append("t.write('Success%s')\n"%(self))
lis.append("t.close()\n")
lis.append("ran = success\n")
lis.append("return ran\n")
lis.append(" except:\n")
lis.append("print('failed')\n")
lis.append("t = open('database.txt', 'a')\n")
lis.append("ran = 'failed'")
lis.append("t.write('failed%s')\n"%(self))
lis.append("t.close()\n")
lis.append("return ran\n")
ws.write("def test():\n")
ws.write(" try:\n")
for i in lis:
if i != "except:\n"and " " not in i:
ws.write(" "+i)
else:
ws.write(i)
你需要去學習一些好的ANSI ANSI LISP。 –
我不是一個Python傢伙,但是如果你從.exe文件運行這段代碼,它不會是「自我修改」,它只會用你提供的代碼創建一個新的python文件,除非你也要運行py2exe輸出,那麼它會自我修改。 – geokavel
你需要編寫這個文件然後編譯它。你可以用shell命令來做到這一點,就像你使用py2exe一樣。 –