2017-07-28 21 views
0

我想使用Python GNUPG库加密文件,它不工作!gnupg.GPG:对不起,根本没有终端请求 - 无法获得输入

这里是我的代码片段:

import gnupg 

gpg=gnupg.GPG(homedir='/home/datadev/') 
recipients=['[email protected]'] 
f = open('/home/datadev/filename','rb') 
status = gpg.encrypt(f,recipients) 

/home/datadev是在那里我有我的.asc文件和相关gpg所有.pubring文件的文件夹。

阅读后gpg: Sorry, no terminal at all requested - can't get input

后,我尝试了以下选项:

gpg=gnupg.GPG(options='') 

但错误总是“GPG:对不起,没有终端的所有请求 - 不能让输入”

如果有人能告诉我什么是错的,这将是有帮助的。

+0

** **如何不工作? – martineau

回答

0

关于终端的消息表明有错误,但gnupg无法告诉它,因为没有终端。 python包装调用gnupg可执行文件。显然,gnupg的输出并不一致,所有的东西都会返回代码等。 所以这个问题是另一回事。我面临同样的问题。通过收件人不是一个列表,但只是直接它的工作。加密代码文档给出了多个收件人的示例 - 只需将它们作为单个参数传递即可。在上面的例子中,将列表转换为字符串将成为诀窍。