【发布时间】:2018-10-18 07:45:01
【问题描述】:
我在一个目录中有一百个文件。它们看起来像
abc def
ghi 123456
xyz
我想将123456 更改为XXXXXX
我不能使用正则表达式,因为字符串并不总是相同的,但它总是在相同的索引处并且总是具有相同的长度
我在 python 3.7 中的尝试
#!/usr/bin/python
import fileinput
import glob
for filepath in glob.iglob('mydir/*.txt'):
with fileinput.FileInput(filepath, inplace=True) as file:
for index, line in enumerate(file):
if index == 1:
print(line.replace(line[9:14], "XXXXXX"))
1- 这会将整个文件替换为修改后的文本
2- 123456 被 XXXXXX6 替换(9:14 是我文件中的真正边界)
如何修复这个脚本?
【问题讨论】:
标签: python python-3.x io