提问人:snf_dodgehemi 提问时间:5/30/2023 最后编辑:mkrieger1snf_dodgehemi 更新时间:5/30/2023 访问量:42
如何使用 Python 的 readlines 函数以特定模式格式化文件中的行?
How can I use Python's readlines function to format lines from a file in a specific pattern?
问:
我在 test.txt 文件中的数据如下所示:
XXTYSVASOOXOSJAY
CGTVHIXXHIAICXWHAYX
我正在尝试实现这样的模式:
XX-X
XX-X-X
这是我目前所拥有的:
import re
data = open("test.txt", "r")
lines = data.readlines()
result = re.sub(r"[^X]+", r"-", str(lines)).strip("-")
if "X" in result:
print(result)
else:
print("No X found")
这是我得到的结果,它是一行:.XX-X-XX-X-X
我怎样才能正确地做到这一点以获得预期的结果?
答:
1赞
sedub01
5/30/2023
#1
若要设置文件中具有特定模式的行的格式,可以循环访问文件中的每一行,并将正则表达式替换应用于每一行。例如
import re
with open("test.txt", "r") as f:
for line in f:
result = re.sub(r"[^X]+", r"-", line).strip("-")
print(result if "X" in result else "No X found")
评论
readlines
str(lines)
['abc', 'def', 'xyz']
"['abc', 'def', 'xyz']"
re.sub
[
]
,
readlines
for line in lines:
re.sub