afrcmg 2023-02-14 22:03 采纳率: 87.5%
浏览 27
已结题

python的命令行控制方法os.popen的使用

我想用python打开cmd黑框,并且自动输入命令,请问有方法实现吗?

因为我没找到方法,所以退而求其次,想用os模块直接实现命令行,网上说有os.system和os.popen两种方法,对比后我选择了后者。
但现在有个问题,我运行的命令行可能有10秒到1分钟左右。本来如果在cmd里输入命令,那么这段时间里会不断出现命令的反馈, 一行行的信息,但是现在什么也看不到。

所以,要么有没有能直接使用cmd的方法?要么能否让os.popen在过程中就反馈命令行信息?

  • 写回答

3条回答 默认 最新

  • 梦想橡皮擦 Python领域优质创作者 2023-02-14 22:37
    关注

    方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”


    是的,可以使用 Python 来打开命令提示符(cmd)黑框并自动输入命令。可以使用 subprocess 模块来实现。

    如果想要观察命令在执行过程中的输出,可以使用 subprocess.Popen 类的 communicate 方法。代码如下:

    import subprocess
    
    cmd = 'your_command'
    process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    while True:
        output = process.stdout.readline()
        if output == '' and process.poll() is not None:
            break
        if output:
            print(output.strip().decode('utf-8'))
    rc = process.poll()
    

    这样,每当有输出时,就会打印出来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月15日
  • 创建了问题 2月14日

悬赏问题

  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?
  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计