Python将curl与子进程一起使用,将outpute写入文件

时间:2018-11-25 11:17:46

标签: python curl

如果我在Git Bash中使用以下命令,它将正常工作。 curl的输出被写入文件output.txt

curl -k --silent "https://gitlab.myurl.com/api/v4/groups?page=1&per_page=1&simple=yes&private_token=mytoken&all?page=1&per_page=1" > output.txt

Python代码:

import subprocess, shlex
command = shlex.split("curl -k --silent https://gitlab.myurl.com/api/v4/groups?page=1&per_page=1&simple=yes&private_token=mytoken&all?page=1&per_page=1 > output.txt")
subprocess.Popen(command)

Python代码在我的文件“ output.txt”中什么也没写。 如何在output.txt中编写或直接在Python中获取输出?

2 个答案:

答案 0 :(得分:1)

您不能直接将重定向与子流程一起使用,因为它是Shell功能。使用<div> <img src="https://placekitten.com/g/400/500"> Text(1) </div> <div> <img src="https://justifiedgrid.com/wp-content/gallery/life/biking/137646854.jpg"> Text(2) </div> <div> <img src="http://centraltibetanreliefcommittee.org/doh/photo-gallery/good-sliders/MenuCool5/images/image-slider-1.jpg"> Text(3) </div> <div> <img src="https://www.aussiespecialist.com/content/asp/en/sales-resources/image-and-video-galleries/_jcr_content/mainParsys/hero/image.adapt.1663.medium.jpg"> Text(4) </div>

check_output

答案 1 :(得分:0)

您可以以其他方式使用该命令以写入 output.txt

curl -k --silent "https://gitlab.myurl.com/api/v4/groups?page=1&per_page=1&simple=yes&private_token=mytoken&all?page=1&per_page=1" --output output.txt

另外,您应该考虑 output.txt 可能不会保存在您期望的目录中,所以我也建议您以另一种方式命名 output.txt 唯一的一个,然后更新locate linux命令数据库(请参阅updatedb命令),然后使用locate搜索文件。

PS:这一切在您需要写到 output.txt 时才有意义(您的问题也接受这种情况,所以希望对您有所帮助)