我想制作一个 python 文件,它自己复制一份,然后执行它并关闭自己,然后复制一份自己的另一个副本,依此类推......我不是要求人们编写我的代码,这可能只是一个有趣的挑战,但我想了解更多关于这些东西的信息,并感谢您的帮助。我已经玩过它,但无法解决它,我已经尝试制作一个 py 文件,然后将文件本身的副本粘贴到其中,我可以想到两种不同的方式,但它会继续永远。#i use this piece of code to easily execute the py file using osos.startfile("file.py")#and to make new py file i just use open()file = open("file.py","w")file.write("""hello worldyou can use 3 quote marks to write over multiple lines""")我希望当您运行该程序时,它会复制自己,运行它,然后关闭自己,然后新运行的程序循环结束。实际发生的情况是,要么我一直在编写代码,要么当我将它粘贴到自身副本中的代码嵌入到它复制到副本文件的内容中时,它理所当然地说它不知道该代码是什么,因为它正在书面。这一切真的很令人困惑,这很难解释,很抱歉现在是午夜自动取款机,我很累。
2 回答

一只甜甜圈
TA贡献1836条经验 获得超5个赞
你很近;你的东西顺序不对。创建新文件,然后执行它。
import os
old_file = __file__
new_file = generate_unique_file_name()
os.system('cp ' + old_file + ' ' + new_file) #UNIX syntax; for Windows, use "copy"
os.startfile(new_file)
您必须选择和编码您的首选方法来创建唯一的文件名。您可能希望使用时间戳作为名称的一部分。
您可能还想在退出之前删除此文件;否则,您最终会用这些文件填满您的磁盘。
添加回答
举报
0/150
提交
取消