Python捕获特定异常

Python捕获特定异常,python,encryption,gnupg,Python,Encryption,Gnupg,我有一个python脚本,用于自动执行GPG/PGP文件加密(还有一些其他任务),我在捕获脚本中gunpg抛出的错误时遇到了一个问题。总体设置是在数据库表中配置变量,并将它们拉入脚本以加密文件 因此,我正在寻找与加密过程失败相关的错误(例如数据库中键入的密钥不正确)。当我使用一个坏密钥从python shell执行加密时,我得到以下错误: <gnupg.Crypt object at 0x7f49d0c51b50> 这只是被跳过了,稍后我在脚本中发现,当我尝试验证加密文件是否存在时

我有一个python脚本,用于自动执行GPG/PGP文件加密(还有一些其他任务),我在捕获脚本中gunpg抛出的错误时遇到了一个问题。总体设置是在数据库表中配置变量,并将它们拉入脚本以加密文件

因此,我正在寻找与加密过程失败相关的错误(例如数据库中键入的密钥不正确)。当我使用一个坏密钥从python shell执行加密时,我得到以下错误:

<gnupg.Crypt object at 0x7f49d0c51b50>
这只是被跳过了,稍后我在脚本中发现,当我尝试验证加密文件是否存在时,加密过程失败了

非常感谢您的帮助。谢谢

是来自
gpg.encrypt_file()
的返回值,不例外。Python控制台只是为您显示它,因为您没有将它分配给变量

请注意,for
encrypt_file()
的状态为:

应信任为加密提供的任何公钥,否则加密将失败,但不会发出任何警告这是因为gpg只是将消息打印到控制台,但没有提供Python包装器可以使用的特定错误指示。

这可能也适用于密钥库中不存在密钥的情况。

是来自
gpg.encrypt_file()
的返回值,不是例外。Python控制台只是为您显示它,因为您没有将它分配给变量

请注意,for
encrypt_file()
的状态为:

应信任为加密提供的任何公钥,否则加密将失败,但不会发出任何警告这是因为gpg只是将消息打印到控制台,但没有提供Python包装器可以使用的特定错误指示。


大概,这也适用于密钥库中不存在密钥的情况。

看起来不像是错误。它只是一个物体。你能显示给你那个“错误”的代码吗?
gnupg.Crypt
的构造函数类是什么?当然,当变量“pub_key”设置不正确(即它与密钥库中的任何密钥都不匹配)时,会出现该代码,然后执行加密行:'gpg.encrypt_file(open_file,pub_key,always_trust=True,output=enc_file)
是来自
gpg.encrypt_file()
的返回值,不是异常。Python控制台只是为您显示它,因为您没有将它分配给变量。请注意,for
encrypt\u file()
状态:“为加密提供的任何公钥都应该是可信的,否则加密将失败,但不会发出任何警告。这是因为gpg只是将一条消息打印到控制台,但没有提供Python包装器可以使用的特定错误指示。“大概,这也适用于密钥库中不存在密钥的情况。
看起来不像是错误。它只是一个对象。您能显示给出该“错误”的代码吗“
gnupg.Crypt
的构造函数类是什么?当然,如果变量'pub_key'设置不正确(即它与密钥库中的任何密钥都不匹配),则会执行加密行:'gpg.encrypt_file(open_file,pub_key,always_trust=True,output=enc_file)
gpg.encrypt_file()的返回值。”
,不例外。Python控制台只是为您显示它,因为您没有将它分配给变量。请注意,for
encrypt\u file()
状态:“为加密提供的任何公钥都应该是可信的,否则加密将失败,但不会发出任何警告。这是因为gpg只是将一条消息打印到控制台,但没有提供Python包装器可以使用的特定错误指示。”据推测,这也适用于密钥库中不存在密钥的情况。
try:
    gpg.encrypt_file(open_file,pub_key,always_trust=True,output=enc_file)
except:
    logger.error('ERROR: check the keystore and/or public key')