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日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序