Python/Django删除变量中的文本

2024-04-24 08:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的视图.py我有下面这一行

encrypted_token_message = encryption_key.encrypt(PGPMessage.new(token_message), cipher=SymmetricKeyAlgorithm.AES256)

它将创建一个带有如下版本信息的PGP消息

-----BEGIN PGP MESSAGE-----

Version: XYZ

如何删除/替换此版本行?在

如果我尝试:

^{pr2}$

我回来了:

'PGPMessage' object has no attribute 'replace'

谢谢和问候


Tags: keypytoken视图messagenewaes256encrypted
2条回答

PGPy documentation中所述,encrypt方法返回PGPMessage的实例。之所以可以将该对象转换为str,是因为它重写了特殊的__str__方法。在

总之,replacestr的方法,而不是{}的方法。因此,如果要替换Version:,请将消息转换为字符串,然后替换版本。在

encrypted_token = str(encryption_key.encrypt(PGPMessage.new(token_message), cipher=SymmetricKeyAlgorithm.AES256))  # Gets the string representing the newly created message
encrypted_token_message_pretty = encrypted_token.replace('Version: XYZ', 'Version: XXX')  # encrypted_token is now a string, you can replace whatever you want

它是and对象而不是字符串本身。您可以调用它的特定属性来替换版本号,如下所示-

encrypted_token_message_pretty._attribute_name.replace('Version: XYZ', 'Version: XXX')

您还可以使用encrypted_token_message_pretty.__dict__找到可能属性的列表

相关问题 更多 >