我有一个格式化的ASCII文件,比如说:
a = 20.0
b = 30.0
c = 30.0
h3 p1 p2 p3 p4 p5
000 000 000 22 00 000
...
.
.
.
我只想阅读第4行来获取名称。好吧,我试过了:
1)打开线,然后分开:
# Reading 'data.txt'
line = open('data.txt', 'r')
line_i = line.readlines()[3]
line.close()
line_i = line_i.split(' ')
print line_i
出:
['h3', '', '', '', 'p1', '', '', 'p2', 'p3', 'p4', '', '', '', 'p5\n']
2)
import csv
line = open('data.txt', 'r')
line_i = line.readlines()[3]
line.close()
line_i = csv.reader(line_i,delimiter=' ')
print line_i
出:
<_csv.reader object at 0x205e7c0>
如何做到这一点?
答案 0 :(得分:2)
使用split()
时,将参数留空意味着将删除连续的空格:
>>> line = "h3 p1 p2 p3 p4 p5"
>>> line.split()
['h3', 'p1', 'p2', 'p3', 'p4', 'p5']
来自文档:
如果未指定sep或为None,则使用不同的拆分算法 applied:连续空格的运行被视为单个 分隔符,结果将在开始时不包含空字符串 或者如果字符串具有前导或尾随空格则结束。所以, 拆分空字符串或只包含空格的字符串 使用无分隔符返回[]。