2017-07-28 97 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的輸出並不一致,所有的東西都會返回代碼等。 所以這個問題是另一回事。我面臨同樣的問題。通過收件人不是一個列表,但只是直接它的工作。加密代碼文檔給出了多個收件人的示例 - 只需將它們作爲單個參數傳遞即可。在上面的例子中,將列表轉換爲字符串將成爲訣竅。