微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果可能,如何使用操作系统或子进程从命令行程序一个接一个地执行命令?

如何解决如果可能,如何使用操作系统或子进程从命令行程序一个接一个地执行命令?

我想问有没有办法在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')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。