Python/Django删除变量中的文本
在my views.py中,我有以下几行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
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的特定属性,然后对其执行替换操作。很酷,谢谢您的提示。你能在这里提供一个例子或答案吗?谢谢你的例子,我对这里的对象处理有点困惑。