Python/Django删除变量中的文本

Python/Django删除变量中的文本,python,django,text,replace,Python,Django,Text,Replace,在my views.py中,我有以下几行 encrypted_token_message = encryption_key.encrypt(PGPMessage.new(token_message), cipher=SymmetricKeyAlgorithm.AES256) 这将创建一个包含如下版本信息的PGP消息 -----开始PGP消息----- 版本:XYZ 如何删除/替换此版本行 如果我尝试: encrypted_token_message_pretty = (encrypted_to

在my views.py中,我有以下几行

encrypted_token_message = encryption_key.encrypt(PGPMessage.new(token_message), cipher=SymmetricKeyAlgorithm.AES256)
这将创建一个包含如下版本信息的PGP消息

-----开始PGP消息-----

版本:XYZ

如何删除/替换此版本行

如果我尝试:

encrypted_token_message_pretty = (encrypted_token_message.replace('Version: XYZ', 'Version: XXX'))
我回来了:

'PGPMessage' object has no attribute 'replace'

感谢并问候

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

encrypted\u token\u message\u pretty.\u attribute\u name.replace('Version:XYZ','Version:XXX')

您还可以使用
encrypted\u token\u message\u pretty查找可能属性的列表。
如中所述,
encrypt
方法返回
PGPMessage
的实例。之所以可以将该对象转换为
str
,是因为它重写了特殊的
\uuuu str\uuu
方法

无论如何,
replace
str
的一种方法,而不是
PGPMessage
。因此,如果要替换
版本:
,请将消息转换为字符串,然后替换版本

encrypted_token=str(encryption_key.encrypt(PGPMessage.new(token_message),cipher=SymmetricKeyAlgorithm.AES256))获取表示新创建消息的字符串
encrypted_token_message_pretty=encrypted_token.replace('Version:XYZ','Version:XXX')#encrypted_token现在是一个字符串,您可以替换任何需要的内容

因为它是一个对象而不是字符串本身,所以您可以调用
加密的\u token\u message\u pretty的特定属性,然后对其执行替换操作。很酷,谢谢您的提示。你能在这里提供一个例子或答案吗?谢谢你的例子,我对这里的对象处理有点困惑。