问题描述
我想问有没有办法在python中运行命令行程序的命令,但是代码必须重复执行,即我想要的解决方案不是这个
os.system(f"xxx.exe {command}").
我尝试了 subprocess.run 函数,将 exe 的名称后跟我想在方括号内执行的命令,然后是这些关键字参数:stdout=subprocess.PIPE,text=True
然而,奇怪的是它不会使 data.stdout
出于某种原因,整个输出。只有初始代码的输出被分配给它。这可能是因为括号内的参数不代表不同的行。因此,我想我使用 subprocess 所做的事情与我通过 os 库执行单行命令的方式相同。
也就是说,我的问题是使用 subprocess 或 os,如何执行必须在不同行中执行的代码,或者如果不可能,如何在 python 中一个接一个地执行命令行程序中的命令?
编辑:我应该做这样的事情吗?
os.system(f"xxx.exe {command1} \n {command2}")
解决方法
这是一种捷径,但您可以这样做:
import os
import pyautogui
os.startfile('Path_to_command_prompt')
pyautogui.PAUSE = however long it takes to run each command
pyautogui.write('Command_1')
pyautogui.press('enter')
pyautogui.write('Command_2')
pyautogui.press('enter')