subprocess相关内容

Python子流程:它们如何/何时关闭文件?

我想知道为什么子进程会打开这么多文件.我有一个示例,其中某些文件似乎永远保持打开状态(在子进程完成之后,甚至在程序崩溃之后). 考虑以下代码: import aiofiles import tempfile async def main(): return [await fds_test(i) for i in range(2000)] async def fds_test ..
发布时间:2020-05-28 00:38:56 Python

从控制台获取标准输出

我正在尝试制作一个Python脚本,该脚本将使用dd if=/dev/sda of=/dev/sdb 将一个USB记忆棒(ISO映像)克隆到另一个USB记忆棒 这是我的问题: 我想创建进度条,显示已完成的操作. 我尝试过: 在第二个USB记忆棒上查看存储空间,但这无法正常工作,因为ISO映像还会扫描未使用的空间 通过将status=progress添加到dd命令中,我可以在终端中 ..
发布时间:2020-05-28 00:38:34 Python

连接由正则表达式从子流程STDERR检索的字符串会导致混乱

我有一个音频文件,Sample.flac.标题和长度可以用ffprobe读取,以将输出发送到STDERR. 我想通过子进程运行ffprobe,并且已经成功完成了.然后,我用*.communicate()[1].decode()检索输出(通过管道传送到subprocess.PIPE),如我应该由Python文档所指示的那样. communicate()返回一个元组(stdout, std ..
发布时间:2020-05-28 00:35:55 Python

python子进程多个stdin.write和stdout.read

感谢您抽出时间回答问题.我正在使用Python 3.4,并且有两个简单的python程序.一个是一个名为test.py的程序,它需要用户输入并打印出一些东西. while True: print("enter something...") x = input() print(x) time.sleep(1) 要向该程序发送输入,我还有另一个使用子进程的程序 ..
发布时间:2020-05-28 00:33:52 Python

为什么子进程的管道输出对Python如此不可靠?

(对于Windows) 我编写了一些Python代码,调用了程序SoX(子过程模块),如果指定这样做,它将在STDERR上输出进度.我想从输出中获取百分比状态.如果我不是从Python脚本中调用它,它将立即启动,并且平滑过渡直到100%. 如果我从Python脚本中调用它,它将持续几秒钟直到启动,然后在慢速输出和快速输出之间交替.尽管我逐个字符地阅读char,但有时还是会拉出很大的一块 ..
发布时间:2020-05-28 00:32:35 Python

连接到子进程stdin到管道

我有一个创建子流程并将其STDIN连接到匿名管道的方法;这是行不通的.它没有引发任何异常,子进程似乎从未读过数据. (子进程是"zenity"可执行文件,用于在GUI中显示进度条) class Screen(object): def __init__(self, display = ":0", bin = '/usr/bin/zenity'): self.bin = ..
发布时间:2020-05-28 00:32:10 Python

Python中的子流程Popen和PIPE

以下代码将空行输出为false. 问题不在权限中,因为我使用pdf -file的777权限测试了该命令. 如何修正命令以提供正确的输出? import subprocess from subprocess import PIPE, Popen output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf'], stdout= ..
发布时间:2020-05-28 00:31:31 Python

Python:用ssh连接替换shell管道

我有以下不错的bash命令: cat SomePythonScript.py | ssh remote_machine 'cat - | python' 效果很好,我想用Python编写.我尝试了“子过程",但没有走那么远.有人能帮我吗 ? from subprocess import PIPE , Popen p1 = Popen(["cat ", "SomePythonSc ..
发布时间:2020-05-28 00:28:48 Python

通过子进程将数据流式传输到命令中

我经常需要对包含标头的文件进行排序.由于排序取决于标题的内容,因此该用例比类似的问题更为复杂(例如,是否有一种方法可以忽略标题中的标题行UNIX排序?). 我希望使用Python读取文件,输出第一个文件的标题,然后将尾部通过管道排序.我已经尝试过以此作为概念证明: #!/usr/bin/env python import io import subprocess import sys ..
发布时间:2020-05-28 00:28:24 Python

防止意外的stdin读取并锁定子进程

一个简单的例子,我正在尝试解决所有情况. 我正在运行一个子进程来执行某些任务,并且我不希望它要求输入stdin,但在极少数情况下,甚至我可能都不希望它会尝试读取. 在这种情况下,我想防止它挂起. 这是一个经典的例子: import subprocess p = subprocess.Popen(["unzip", "-tqq", "encrypted.zip"]) p.wait() ..
发布时间:2020-05-28 00:26:45 服务器开发

如何从子进程python 2.7和Apache读取实时输出

我有一个Apache Web服务器,我制作了一个python脚本来运行命令.我正在运行的命令正在启动ROS启动文件,该文件可以无限期地运行.我想实时读取子流程的输出并将其显示在页面中.到目前为止,使用我的代码,我只能在终止过程后设法使输出打印出来.我已经尝试了各种来自Web的解决方案,但是似乎都不起作用 command = "roslaunch package test.launch" pr ..
发布时间:2020-05-28 00:26:35 服务器开发

通过python3子进程发送管道命令

我正在尝试通过python3.4执行以下子过程命令 cd /home/mailer-domains/domain | rndc loadkeys domain 我已经尝试过使用.call和.Popen的多种方法,但是它要么不喜欢我的管道,要么不喜欢我的开关 >>> subprocess.call(['cd /home/mailer-domains/'+domain, '|', 'r ..
发布时间:2020-05-28 00:26:32 Python

使管道保持打开状态

我有一个app,它从stdin中读取内容,并在换行符之后将结果返回到stdout 一个简单的(愚蠢的)示例: $ app Expand[(x+1)^2] x^2 + 2*x + 1 100 - 4 96 打开和关闭app需要进行大量的初始化和清理工作(它是计算机代数系统的接口),因此我希望将其保持在最低水平. 我想用Python在此过程中打开一个管道,向其st ..
发布时间:2020-05-28 00:26:19 Python

如何为需要文件名而不是变量的python子进程调用提供输入?

我正在尝试在python中调用Shell脚本(segment.sh). 在控制台上产生正确结果的语法是: > ./segment.sh ctb file.txt utf-8 0 可以看出,该shell脚本期望一个文本文件作为输入.我想做的是打开文件并在python中读取其内容(最好从HTML POST表单中读取),然后以某种方式将包含内容的变量传递给python子进程 打电话. 以 ..
发布时间:2020-05-28 00:26:17 Python

在Python中使用子流程进行Shell管道

当我使用subprocess从Python调用Shell命令时,我读取了我在StackOverflow上找到的每个线程,但是我找不到适用于我的情况的答案: 我想在Python中执行以下操作: 运行shell命令command_1.将输出收集在变量result_1 中 Shell管道 result_1进入command_2,并在result_2上收集输出.换句话说,使用在上一步中 ..
发布时间:2020-05-28 00:25:19 Python