将自己修改为exe的Python文件?

时间:2015-10-14 05:24:13

标签: python self-modifying

我正在搞乱自修改代码的想法,我想使用py2exe将文件更改为.exe。我仍然可以自己修改代码,还是需要将其保留为.py?

自我修改代码:

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)

1 个答案:

答案 0 :(得分:0)

我认为这只是一个练习,但是(我认为我根本不会充实这个答案)。如果你使用pyinstaller(不确定py2exe但它可能是同样的想法)来制作exe,它基本上是一个自解压缩的存档,它将python解释器和你的源提取到一个临时目录(你可以从中检索)环境变量)。找到临时目录后,可以对pyinstaller进行同步调用(在进行修改之后)将临时(修改过的)文件重新打包到新的exe中。