【发布时间】:2021-09-01 18:22:01
【问题描述】:
我执行一个 curl 命令来获取一个 html,在 powershell 中包含一个单词的含义,它按预期工作。 然后我想用 python 和 subprocess.run() 执行它,它没有返回错误,我看到 run() 中的参数被正确解析,但返回的页面是网站的“找不到单词”页面,而不是curl 在 powershell 中返回的页面。我希望得到与在 powershell 或终端中正常执行命令相同的结果。
import sys, subprocess
response = subprocess.run(["curl", f"http://rechnik.info/{sys.argv[1]}", "-o", "query.html"], encoding='utf-8', capture_output=True)
print(response)
exit()
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)应包括所需的行为、特定问题或错误和所需的最短代码作为格式化文本(不是图像)在问题本身中。没有明确的问题陈述的问题对其他读者没有用处。请参阅:minimal reproducible example。
-
@Stati Kosev - 我无法复制。你如何运行代码?
-
我在 pycharm 或 powershell 更新中运行它:当我在 linux 上尝试相同的目标时,我发现它与 os.system 完美配合,这也是我在 windows 上尝试的第一种方法.在我看来这是 Windows 上的一些问题,我想在 linux 上它也可以与子进程一起使用
标签: python curl subprocess