用字符串 pickle 中的下划线替换 space

Replace space with underscore in string pickle

我有 pickle 格式的数据,文件内部是字典,密钥中有几个文件名,如下所示

Key Type Size Value

22 NN_64_100_0.txt float 1 nan

密钥有多个名称,中间有空格。我想用下划线替换它,如下所示。

 22_NN_64_100_0.txt 

我试过如下方法:

with open('/data/record.pickle', 'rb') as f:
    data = pickle.load(f)    

    {data.replace(' ', '_'): v for k, v in data.items()}

但是没用

谁能帮忙做一下吗?

使用正则表达式将几个空格替换成下划线

import re

with open('/data/record.pickle', 'rb') as f:
    data = pickle.load(f)    
    {re.sub(r' ', '_', k): v for k, v in data.items()}

如果您觉得不合适请告诉我...