这是一个可以自我复制的python小程序,复制次数可调
新人所写,还望关照
#自我复制python小程序
#命名文件时一定要带数字
#setting
reproduce_time = 5
interval_time = 0
def reproduce(reproduce_time,interval_time=0):
from os import path,system
from time import sleep
filename = path.basename(__file__)
pure_name = filename.replace('.pyw', '')
prenumber = ''.join(list(filter(str.isdigit, pure_name))) #提取数字
string_name = pure_name.replace(prenumber, '') #提取无数字字符串
number = int(prenumber)
number += 1
newname = string_name + str(number) + '.pyw' #生成新文件名
path = path.dirname(path.abspath(__file__)) + '\\'
#复制模块
if number > reproduce_time:
pass
else:
with open(__file__,'r',encoding='utf-8',buffering=500) as self_film:
with open(newname,'w',encoding='utf-8',buffering=500) as son_film:
son_film.write(self_film.read())
#执行子程序
try:
system('python ' + path + newname)
except:
pass
sleep(interval_time)
reproduce(reproduce_time)
虽然把文件拓展名改成了.pyw,但运行时还是黑框cmd
如果有大神看了这篇文章,还望不吝赐教