sách gpt4 ăn đã đi

python - Powershell 和 Python - 如何以管理员身份运行命令

In lại 作者:太空狗 更新时间:2023-10-30 01:32:11 25 4
mua khóa gpt4 giày nike

我正在用 python 编写代码,我需要在其中通过软件名称获取互联网流量。我需要使用 cmd 命令 netstat -nb,该命令需要提升。我必须保持简单,一行左右,没有长的批处理或 powershell 脚本。如果我只使用 subprocess python 库会更好。

我有两行代码可以满足我的需求:

subprocess.check_output('powershell Start-Process netstat -ArgumentList "-nb" -Verb "runAs"', stdout=subprocess.PIPE, shell=True)

这个问题是它打开了一个新窗口,我需要的所有数据都丢失了。也许有一种方法可以不打开另一个窗口或保存新窗口的输出?

subprocess.check_output('powershell Invoke-Command {cmd.exe -ArgumentList "/c netstat -nb"}', stdout=subprocess.PIPE, shell=True)

这个我在同一个窗口中有输出,但我没有高程,所以我没有得到任何结果...也许有一种方法可以在不打开新窗口的情况下获得高程?

感谢您的帮助,希望我的问题足够清楚。

câu trả lời hay nhất

创建批处理文件以执行任务,并将捕获的输出输出到临时文件:

[donetstat.bat]
netstat -nb > ".\donetstat.tmp"

然后在你的程序中执行那个:

[yourprogram.py]
subprocess.check_output('powershell Start-Process cmd -ArgumentList "/c ".\donetstat.tmp" -Verb "runAs"', stdout=subprocess.PIPE, shell=True)

lấy TEMP 环境变量并将其用于完全限定的临时文件位置可能会更加防弹:

netstat -nb > "%TEMP%.\donetstat.tmp"

然后在您的 Python 脚本中执行相同的操作。

创建临时文件后,您应该能够在 Python 中处理它。

如果这需要在多个工作进程中保持持久性,请添加一些代码以确保每个进程都有一个唯一的临时文件。

关于python - Powershell 和 Python - 如何以管理员身份运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44707068/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress