在Windows 10上运行python脚本

问题描述 投票:0回答:2

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

python python-3.x windows-10 subprocess
2个回答
1
投票

你的代码运行良好。问题是cmd关闭窗口太快,你看不到结果。只需在关闭窗口之前添加一个等待交互的命令。

您可以在代码的末尾添加:

input("Press Enter to finish...")

或者在完成后暂停执行:

import time

[在代码结束时暂停5秒......]

time.sleep(5)

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%中添加其安装目录(如果还没有),以避免每次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(从第二个URL检查图像),则必须手动添加Python的路径(C:\ Users \ USER \ AppData \ Local \ Programs \ Python \ Python37)。网上有很多资源,这里有3个:

© www.soinside.com 2019 - 2024. All rights reserved.