以下代码将空行打印为输出,为false。 问题不在于权限,因为我使用777权限测试了pdf -file的命令。 如何修复命令以提供正确的输出?

import subprocess
from subprocess import PIPE, Popen
output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf'], stdout=PIPE).communicate()[0]

===============>>#1 票数:6 已采纳

pdftotext默认创建一个文件。 要将结果发送到标准输出,请使用:

pdftotext file.pdf -

或者在Python中:

output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf', '-'], stdout=PIPE).communicate()[0]

  ask by Léo Léopold Hertz 준영 translate from so

未解决问题?本站智能推荐:

2回复

在长子进程调用(Python)中使用PIPE不起作用

我正在尝试执行以下命令(以通过python脚本下载Calibre): sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-instal
2回复

我可以将io.BytesIO()流传递给Python中的subprocess.popen()吗?

我试图管道 io.BytesIO()bytetream到一个单独的程序使用subprocess.popen(),但我不知道如何,或者如果这是在所有可能的。 文档和示例都是关于文本和换行的。 当我掀起这样的事情时: 我明白了 我认为popen()仅适用于文本。 我错了吗?
1回复

使用python / popen通过管道处理大量数据

我正在尝试观看一个过程并等待某种模式,说: 然后,在那之后,我想等待 我试着编写脚本如下: 但它似乎表现得太慢了。 有关处理管道中许多线路的任何建议吗? 有更快的方法吗?
10回复

Python子进程超时?

是否有任何参数或选项可为Python的subprocess.Popen方法设置超时? 像这样: subprocess.Popen(['..'], ..., timeout=20) ?
2回复

Python - 子进程 - 如何在Windows中调用Piped命令?

如何使用子进程运行此命令? 我试过了: 但得到了: 我注意到的事情: 在Windows控制台上运行该命令工作正常。 如果我删除ECHO bosco | 部分,它在上面的popen调用运行良好。 所以我认为这个问题与echo或|有关。
1回复

在Python中,如何将多个进程与popen链接在一起,同时将中间部分结果重定向到字符串中

我一直在寻找python中的方法将多个进程链接在一起,同时将某些中间进程的stderr重定向到字符串变量。 环顾四周后,我认为使用subprocess.popen和subprocess.communicate提供了最佳解决方案。 作为示例代码如下所示: 如果我只是将p2的stdo
3回复

Python和子进程输入管道

我有一个小脚本启动,并且每半小时向java程序(游戏服务器管理器)提供一个命令,就好像用户正在键入它一样。 但是,在阅读文档和实验后,我无法弄清楚如何获得两件事: 1)允许用户在终端windoe中键入命令的版本,它们将被发送到服务器管理器输入,就像“save-all”命令一样。 2
8回复

实时subprocess.Popen通过stdout和PIPE

我试图从subprocess.Popen调用中获取stdout ,虽然我通过这样做很容易实现: 我想“实时”抓住stdout 。 使用上面的方法,PIPE正在等待获取所有stdout然后它返回。 因此,对于日志记录而言,这不符合我的要求(例如,“看到”发生时会发生什么)。
2回复

从python启动nano作为子进程,捕获输入

我正在尝试从Python内部启动文本编辑器(nano),让用户输入文本,然后在写出后捕获文本(Control-O)。 我以前没有使用过subprocess模块,也没有管道,所以我不知道下一步该尝试什么。 到目前为止,我有这个代码: 凡a应捕获输出。 但是,这段代码并没有带来na
2回复

在python中从管道读取是不可能的

您好,我在python 2.6中有以下代码: 此代码的目的是嗅探在端口5559上进行通信的两个进程(A和B)之间的通信。 现在让我描述一下我遇到的不同情况: 1)上面的代码未运行:A和B正在通信,我可以使用日志和linux命令netstat -napl | grep 5559