我搞砸了自我修改代码的想法,我想用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一样。 –