从 python 中的 txt 文件中读取不同的数据用于不同的用途
Read different data for different use from txt file in python
我有一个如下所述的文本文件,我的要求是根据特定的键或词读取两种类型的数据(命令、主机),然后将其用于不同的目的。可以分别读取和提取此类命令和主机数据。我可以通过创建两个不同的文本文件并分别读取来实现它。
任何潜在客户都是可观的。
示例文本文件数据:
{command}
command1
command2
command3
{HOST}
1.2.3.4
d.d.d.d
w.w.w.w
如果我理解正确,你可以使用 re
来完成任务:
import re
with open("your_file.txt", "r") as f_in:
for header, group in re.findall(
r"(\{.*?\})\s*(.*?)\s*(?=\{|\Z)", f_in.read(), flags=re.S
):
print("HEADER =", header)
print("-" * 80)
for i, line in enumerate(group.splitlines(), 1):
print(i, line)
print()
打印:
HEADER = {command}
--------------------------------------------------------------------------------
1 command1
2 command2
3 command3
HEADER = {HOST}
--------------------------------------------------------------------------------
1 1.2.3.4
2 d.d.d.d
3 w.w.w.w
我有一个如下所述的文本文件,我的要求是根据特定的键或词读取两种类型的数据(命令、主机),然后将其用于不同的目的。可以分别读取和提取此类命令和主机数据。我可以通过创建两个不同的文本文件并分别读取来实现它。 任何潜在客户都是可观的。
示例文本文件数据:
{command}
command1
command2
command3
{HOST}
1.2.3.4
d.d.d.d
w.w.w.w
如果我理解正确,你可以使用 re
来完成任务:
import re
with open("your_file.txt", "r") as f_in:
for header, group in re.findall(
r"(\{.*?\})\s*(.*?)\s*(?=\{|\Z)", f_in.read(), flags=re.S
):
print("HEADER =", header)
print("-" * 80)
for i, line in enumerate(group.splitlines(), 1):
print(i, line)
print()
打印:
HEADER = {command}
--------------------------------------------------------------------------------
1 command1
2 command2
3 command3
HEADER = {HOST}
--------------------------------------------------------------------------------
1 1.2.3.4
2 d.d.d.d
3 w.w.w.w