我正在運行將一堆信息轉儲到目錄中的文件的進程。我稍後運行相同的過程,並對目錄進行比較以查看發生了什麼變化。由於內存地址的緣故,我收到了一些虛假的更改。替換字符串中的未知值
例如:
運行1給出
0xb7390dd0
運行2給出
0xb73909c8
我想是能夠忽略的事實,即內存地址是不同的?什麼是完成這個最好的方法?
我不能使用.replace()
,因爲我不知道地址是什麼。
我正在運行將一堆信息轉儲到目錄中的文件的進程。我稍後運行相同的過程,並對目錄進行比較以查看發生了什麼變化。由於內存地址的緣故,我收到了一些虛假的更改。替換字符串中的未知值
例如:
運行1給出
0xb7390dd0
運行2給出
0xb73909c8
我想是能夠忽略的事實,即內存地址是不同的?什麼是完成這個最好的方法?
我不能使用.replace()
,因爲我不知道地址是什麼。
您可以創建一個正則表達式匹配的價值模式,更換匹配的值
>>> pattern = r'0x\w{8}'
>>> matcher = re.compile(pattern)
>>> matcher.match('0xb73909c8: has the error')
<_sre.SRE_Match object at 0x01E25288>
>>> matcher.match('0xb73909c8: has the error').group()
'0xb73909c8'
那麼你可以做
>>> '0xb73909c8: has the error'.replace(matcher.match('0xb73909c8: has the error').group(), 'Address')
'Address: has the error'
您可以創建一個正則表達式匹配的價值模式和替換匹配值 – avasal 2013-02-21 15:31:55
爲什麼不從你首先轉儲的信息中排除內存地址? – 2013-02-21 15:38:50