我想用python打开cmd黑框,并且自动输入命令,请问有方法实现吗?
因为我没找到方法,所以退而求其次,想用os模块直接实现命令行,网上说有os.system和os.popen两种方法,对比后我选择了后者。
但现在有个问题,我运行的命令行可能有10秒到1分钟左右。本来如果在cmd里输入命令,那么这段时间里会不断出现命令的反馈, 一行行的信息,但是现在什么也看不到。
所以,要么有没有能直接使用cmd的方法?要么能否让os.popen在过程中就反馈命令行信息?
我想用python打开cmd黑框,并且自动输入命令,请问有方法实现吗?
因为我没找到方法,所以退而求其次,想用os模块直接实现命令行,网上说有os.system和os.popen两种方法,对比后我选择了后者。
但现在有个问题,我运行的命令行可能有10秒到1分钟左右。本来如果在cmd里输入命令,那么这段时间里会不断出现命令的反馈, 一行行的信息,但是现在什么也看不到。
所以,要么有没有能直接使用cmd的方法?要么能否让os.popen在过程中就反馈命令行信息?
方案来自 梦想橡皮擦 狂飙组基于 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()
这样,每当有输出时,就会打印出来。