如何用Python脚本循环随机启动1-10.py文件并无限运行?
解决随机循环执行Python文件的问题
你的代码报错是因为把randint(1,10)直接写在了字符串里,Python不会解析这个表达式,而是将其作为文件名的一部分,导致系统找不到名为randint(1,10).py的文件。
以下是正确的实现方式,能让脚本随机启动1-10.py文件,且等待当前文件执行完成后再启动下一个:
方法一:使用Popen + wait()
import random import subprocess while True: # 生成1到10的随机整数 file_number = random.randint(1, 10) # 拼接成正确的文件名 target_file = f"{file_number}.py" # 启动子进程并等待执行结束 process = subprocess.Popen(['python', target_file]) process.wait()
方法二:使用subprocess.run()(更简洁)
subprocess.run()会自动等待子进程执行完成,无需额外调用等待方法:
import random import subprocess while True: file_number = random.randint(1, 10) target_file = f"{file_number}.py" subprocess.run(['python', target_file])
注意事项
- 确保你的主脚本和1.py到10.py在同一个文件夹下,或者在文件名前加上完整路径
- 如果你的Python解释器命令不是
python(比如用python3),记得替换成对应的命令
内容的提问来源于stack exchange,提问作者Enes Aksu
相关产品推荐
相关产品推荐

