如何使用Python中的空格和换行将文件拆分为列表?

时间:2017-05-30 18:10:40

标签: python-2.7 file split bellman-ford

我有一个config.txt文件,其中包含以下格式的数据

2
B 6.5 5001
F 2.2 5005

此文件的第一行指示路由器A的邻居数量。在此之后,每行都有一行专用 邻居。它以邻居ID开头,然后是到达该邻居的开销,最后是该邻居用于监听的端口号。

我正在尝试实现bellman-Ford路由算法,为此我将此文件作为命令行参数传递。

我想把它放到一个列表中,以便将它存储到一个数据结构中供以后使用,但我不确定该列表是否只包含3个元素,即3行?

或者我需要用空格分隔每个字符串/将每个由空格分隔的行中的每个字符串存储到列表中。

我能够使用split函数来制作3行的列表,但是如何列出一行中的字符串/字符呢?

1 个答案:

答案 0 :(得分:0)

嗯,你总是可以做一个双重拆分 - 先行,然后按空格:

data = """2
B 6.5 5001
F 2.2 5005"""

parsed = [line.split() for line in data.split("\n") if line]
# [['2'], ['B', '6.5', '5001'], ['F', '2.2', '5005']]

然后,您可以遍历它并将字段转换为您需要的字段。