我正在尝试运行一个简单的Python脚本,该脚本运行ipconfig /all
命令作为概念证明。
您可以在下面找到它:
from subprocess import PIPE, run
my_command = "ipconfig /all"
result = run(my_command, stdout=PIPE, stderr=PIPE, universal_newlines=True)
print(result.stdout, result.stderr)
但是我没有成功运行它,我尝试通过命令行并单击它来尝试,但是它打开了一个cmd窗口1秒钟,然后关闭它,所以我什至无法阅读它。
编辑:我正在使用Python 3.7,我的脚本称为ipconfig.py
答案 0 :(得分:2)
显然,您的问题与脚本本身无关,而与 Python 解释程序调用有关。选中[Python 3.Docs]: How do I run a Python program under Windows?。
一种通用方法是:
在模块上(例如)启动 Python (使用完整路径:检查[Python 3.Docs]: Using Python on Windows以获得更多详细信息):
"C:\Program Files\Python37-64\python.exe" ipconfig.py
当然,有许多改进方法,例如在%PATH%中添加其安装目录(如果尚未安装),以避免每次 < strong> 1 ,但每次只迈出一步。
将参数作为列表传递:
my_command = ["ipconfig", "/all"]
您可能还需要检查命令终止状态(result.returncode
)
1 :如果在安装时未选中将Python 3.7添加到PATH 中(请检查2 nd < / sup> URL ),则必须添加 Python 的路径( C:\ Users \ USER \ AppData \ Local \ Programs \ Python \ Python37 )。网络上有很多资源,这里是3:
答案 1 :(得分:1)
您的代码运行良好。 问题在于该cmd关闭窗口的速度过快,您看不到结果。 只需添加命令以等待您的交互,然后再关闭窗口即可。
您可以在代码末尾添加它:
input("Press Enter to finish...")
或在完成后暂停执行:
import time
[在代码结尾处暂停5秒钟。...]
time.sleep(5)