嗨,我只是在学习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)
它没有任何错误,但它不会打印任何内容。
答案 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: