cqztt 2019-10-11 11:39 采纳率: 20%
浏览 465
已结题

谁会啊,不胜感激。同时运行几个死循环的.py文件,设置pycharm允许同时运行除外,毕竟不利于用户体验。

图片说明

import os

lst = os.listdir(os.getcwd())  # 获取当前目录下所有的文件名
for c in lst:
    if os.path.isfile(c) and c.endswith('.py') and c.find("run")== -1:  #判断文件名是以.py结尾的,并且去掉run.py文件
        print(c)  #查看文件
        os.system('python {}'.format(c))  #相当于在终端执行文件  python main.py

用这段代码的问题就是,第一个0.py文件运行后,因为是一个死循环的程序,所以后面的文件一直不能运行,而且后面的文件也是死循环的文件。

  • 写回答

2条回答 默认 最新

  • JonathanYan 2019-10-11 12:28
    关注

    可以参考这个,在另一终端中运行程序,不知道能不能解决问题。
    或者使用subprocess模块,参考这个链接,能够实现主程序不等待子程序运行结束。

    import os
    import subprocess
    
    lst = os.listdir(os.getcwd())  # 获取当前目录下所有的文件名
    childs = []
    for c in lst:
        if os.path.isfile(c) and c.endswith('.py') and c.find("run")== -1: 
            print(c)  #查看文件
    #       os.system('python {}'.format(c)) 
            childs.append(subprocess.Popen('python {}'.format(c),shell=True))
    
    for child in childs:
        printf("Finished")
        child.wait()
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月7日