python txt中所有小数变为原来的一半

import glob
import re

for txtFile in glob.glob('./txt/*.txt',recursive=False): #遍历文件夹里的txt文件,不递归子文件夹
    file=open(txtFile,'r')
    content=file.read()
    matches=re.findall(r'\d+\.\d\d\d\d\d\d',content) #使用正则表达,筛选所有的六位小数
    for match in matches: #所有六位小数减半
        new_match=round(float(match)/2,6)  #保留6位小数,四舍五入
        content=content.replace(match,str(new_match))

    file_out=open(txtFile,'w') #存入txt
    file_out.write(content)

    file.close()
    file_out.close()

 

posted @ 2024-12-06 11:33  夕西行  阅读(2)  评论(0编辑  收藏  举报