Python清空文件并替换内容、json的loads跟dumps使用注意点

  • 有个文本文件,需要替换里面的一个词,用python来完成,我是这样写的:
def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))

执行上面这个函数,它会把内容追加进去,而不是替换。
f.truncate()没起作用,应该怎么写才可以呢?
需要加上f.seek(0),把文件定位到position 0,没有这句的话,文件是定位到数据最后,truncate也是从这里删除,所以感觉就是没起作用。

def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.seek(0)
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))
  • json的loads跟dumps使用注意点

其中json.dumps是把json序列化成字符串,其中json是支持int、str、bool基本数据格式,如果我们是把int当作keys的话,则进行dumps的时候会把这个keys变成str型,即使进行json.loads也是为str型。所以为了规范需要把keys都变成str来。

测试:

aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {"300": [{"0": .....
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {"300": [{"0": 
> <class 'str'>
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {"300": [{"0": 
> <class 'dict'>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值