在Windows 10上运行python脚本

时间:2019-04-22 11:17:35

标签: python python-3.x windows-10 subprocess

我正在尝试运行一个简单的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

2 个答案:

答案 0 :(得分:2)

显然,您的问题与脚本本身无关,而与 Python 解释程序调用有关。选中[Python 3.Docs]: How do I run a Python program under Windows?
一种通用方法是:

  • 在脚本目录中打开一个 cmd PS )窗口
  • 在模块上(例如)启动 Python (使用完整路径:检查[Python 3.Docs]: Using Python on Windows以获得更多详细信息):

    "C:\Program Files\Python37-64\python.exe" ipconfig.py
    

当然,有许多改进方法,例如在%PATH%中添加其安装目录(如果尚未安装),以避免每次 < strong> 1 ,但每次只迈出一步。

在脚本方面:检查[Python 3.Docs]: subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None)(和示例):

  • 将参数作为列表传递:

    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)