读入以文件中某个字符开头的每一行

时间:2015-10-15 12:55:01

标签: python

嗨,我只是在学习python,我试图读取以“X:”开头的文件中的每一行。我不想阅读'X:'本身只是后面的其余部分。

这是我到目前为止所得到的:

with open("hnr1.abc","r") as file: f = file.read()
id = []
for line in f:
    if line.startswith("X:"):
        id.append(f.line[2:])
print(id)

它没有任何错误,但它不会打印任何内容。

3 个答案:

答案 0 :(得分:4)

试试这个:

with open("hnr1.abc","r") as fi:
    id = []
    for ln in fi:
        if ln.startswith("X:"):
            id.append(ln[2:])
print(id)

不要使用文件或行等名称

请注意,追加仅使用项目名称不作为文件的一部分

通过将文件预先读入内存,for循环通过字符而非行

访问数据

答案 1 :(得分:0)

for line in f:
        search = line.split
        if search[0] = "X":
            storagearray.extend(search)

那应该给你一个你想要的所有行的数组,但是它们会被分成单独的单词。此外,在我们在上面的代码块中调用之前,您需要定义storagearray。这是一个不优雅的解决方案,因为我自己是一个学习者,但它应该做的工作!

编辑:如果你想输出这些行,只需使用python内置的 print 函数:

str(storagearray)    
print storagearray    

答案 2 :(得分:0)

读取文件中的每一行(for循环)
 选择包含X:
的行  将索引为0:的行切成以{/ {1}}为开头的char / string
 打印以X: = ln[0:]

开头的行
X: