subprocess相关内容

如何从subprocess.communicate()中捕获python中的流输出

目前,我有这样的事情: self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE) out, err = self.process.communicate() 我正在运行的命令将输出流式处理,在继续之前,我需要阻塞该过程. 我如何做到这一点,以便可以捕获流输出并通过stdout打印流输出?设置stdout=su ..
发布时间:2020-05-29 01:05:45 Python

如何使用python将本地文件推送到github? (或通过Python发布提交)

有哪些选项可用于将文件从python提交和推送到github? 以下是我认为应该可行的三种方法,因此请按顺序尝试: 使用 pygithub :(Github的python API)进行操作将推送请求发送到我的存储库.失败,因为我在API中找不到推入功能.我可以看到编辑文件,但是当我计划经常更换文件时,这无济于事. 在python子进程(HTTPS)的命令行中使用git push: ..
发布时间:2020-05-29 01:05:42 Python

WindowsError:[错误5]尝试杀死子进程(python)时,访问被拒绝

所以我有一个python脚本,它运行一个循环,在该循环中它通过子进程调用程序A.Popen等待其输出,然后保存输出,然后再次调用,依此类推. (在我设置为输入的多次运行中,这种情况一直发生) 问题是我有一个计时器,以便每当程序A花费的时间超过特定的threshold_time时,脚本就会使用process.kill()杀死该进程并继续进行下一个迭代. 问题是,即使运行300次后,一切似 ..
发布时间:2020-05-29 01:05:23 Python

Python subprocess.Popen()等待完成

我正在编写一个小脚本来依次遍历目录并在其中的子目录上运行命令. 但是我遇到了 Popen()的问题,它会遍历目录并运行所需的命令,而无需等待上一个命令完成.即 for dir in dirs: #run command on the directory here. 它启动每个目录的命令,而无需关心.我希望它等待当前的一个完成,然后开始下一个.我在目录上使用的工具是SANS ..
发布时间:2020-05-29 01:05:21 Python

subprocess.Popen:如何将列表作为参数传递

我只需要提示如何正确做事. 说我有一个名为script.py的脚本,该脚本使用名称列表作为参数["name1","name2"等.]. 我想使用子流程模块从另一个脚本中调用此脚本.所以我想做的是以下事情: myList = ["name1", "name2", "name3"] subprocess.Popen(["python", "script.py", myList]) ..
发布时间:2020-05-29 01:03:08 Python

subprocess.call()和subprocess.Popen()之间的什么区别使PIPE对于前者的安全性降低了?

我已经查看了两个文档. 此问题由JF的评论提示:检索以下内容的输出subprocess.call() subprocess.call() 的当前Python文档说以下内容关于将PIPE用于subprocess.call(): 注意请勿将此功能与stdout=PIPE或stderr=PIPE一起使用.如果子进程为管道生成足够的输出以填充OS管道缓冲区,则该子进程将阻塞,因为未从中读 ..
发布时间:2020-05-29 01:02:31 Python

使用子过程非常大的输入和管道

我有一个非常简单的问题.我有一个大文件,它需要经历三个步骤,一个使用外部程序的解码步骤,使用python进行的一些处理,然后使用另一个外部程序进行重新编码.我一直在使用subprocess.Popen()尝试在python中执行此操作,而不是形成unix管道.但是,所有数据都被缓冲到内存中.有没有执行此任务的pythonic方式,还是我最好还是回到一个简单的python脚本,该脚本从stdin读取 ..
发布时间:2020-05-29 01:02:26 Python

如何避免shell = True在子过程中

我有子过程命令将md5校验和检查为 subprocess.check_output('md5 Downloads/test.txt', stderr=subprocess.STDOUT, shell=True) 工作正常. 但我读过尝试避免shell=True 但是当我运行 subprocess.check_output('md5 Downloads/test.txt', stde ..
发布时间:2020-05-29 01:02:18 Python

为什么将stdin提供给subprocess.Popen会导致写入stdout的内容发生变化?

我正在使用Python的subprocess.Popen使用主机操作系统的二进制客户端执行一些FTP.由于各种原因,我无法使用ftplib或任何其他库. 如果我将stdin处理程序附加到Popen实例,则二进制文件的行为似乎会改变.例如,使用XP的ftp客户端,该客户端接受发出命令的文本文件: >>>from subprocess import Popen, PIPE >>>p = ..
发布时间:2020-05-29 01:02:16 Python