我想制作一個 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
提交
取消