我想制作一个自我复制的程序,它将创建一个新的Python文件,编写代码并运行它。以下是我想要的代码是:Python 3.3.3:从Python脚本运行文件?
import os
num = 0
fileName = 'wrm' + str(num)
fileType = '.txt'
finalName = fileName + fileType
pyName = fileName + '.py'
f = open(finalName, 'w')
f.write("Whatever code I want to write")
f.close()
os.rename(finalName, pyName)
num = num + 1
# Here I need a command that runs the file, giving num as an 'argument'.
您可能想从[subprocess]开始(http://docs.python.org/3.4/library/subprocess.html) – thefourtheye
@thefourtheye您有没有更简单的方法?我不是很高级....我不能理解。 – Kabir
有可能有更好的方法来做你想做的。为什么不定义一个函数并调用它,而不是生成源代码?如果你希望它在一个单独的过程中,'multiprocessing'可以做到这一点。即使由于某种原因它必须是源代码,“compile”或“exec”可能比创建和运行文件更好。即使它必须是一个文件,创建一个模块并“导入”它来运行代码可能会更好。如果你真的需要这样做,这是可行的(正如我的答案所示),但它可能不是你的实际问题的正确答案。 – abarnert