如何在目录的文本文件中插入逗号?

问题描述 投票:0回答:1

我在目录中有一堆文本文件,需要替换其中的文本。每行看起来像这样:

B6  0x040A43
B17  0x6C00C8

我需要:

  1. 1,28替换第一部分。
  2. 删除空格,它是\t空白。
  3. 删除十六进制标识符0x
  4. 在接下来的两个字符后添加逗号。

所以结果应如下所示:

1,28,04,0A43
1,28,6C,00C8

我仍在学习python和regex,经过数小时的研究,到目前为止,我已经写了以下内容:

for filename in glob.glob(os.path.join(directory, '*.txt')):
    with open(filename, "r") as f:
        lines = f.read().splitlines()
        for line in lines:
            line = re.sub(r'B\d{1,}[\s+]0x','1,28,', line)
            print(line)

这将打印出1,28,040A43,因此除最后一个逗号外,所有内容都包含在内。

我的问题是:

  1. 如何将逗号插入字符串?
  2. 这是替换文件中文本的最佳方法还是应该以其他方式访问它?

我在目录中有一堆文本文件,需要替换其中的文本。每行如下所示:B6 0x040A43 B17 0x6C00C8我需要:用1,28替换第一部分。删除空格,...

python regex file overwrite
1个回答
0
投票
import glob
import os
import re
directory = 'test'
for filename in glob.glob(os.path.join(directory, '*.txt')):
    with open(filename, "r") as f:
        lines = f.read().splitlines()
        for line in lines:
            line = re.sub(r'B\d{1,}[\s+]0x','1,28,', line)
            line = line[:7] + ',' + line[7:]
            print(line)


© www.soinside.com 2019 - 2024. All rights reserved.