当用户输入特定字符串时,我试图让文本文件打印出某些行。这就是我所拥有的:
userfile = open("hk.csv","rU")
userfile = userfile.readline()
id_str = input("type in the id#: ")
for n in userfile:
if id_str in userfile.startswith(id_str):
print(n)
这是一个示例文本文件:
"id#","name"
"1","ball"
"2", "tee"
"3", "cart"
"4", "club"
假设用户输入"3"
为他们的 ID#。然后我将不得不返回类似的东西:
ID# name
--------------
1 ball
2 tee
4 club
这给了我一个 TypeError;我现在知道该startswith()
方法只返回一个布尔值。
编辑:
由于评论太混乱,我将在此处发布此答案。这是我想出的新代码:
我实际上已经改变了我的方法,现在我想出了这个:
userfile = open("hk.csv","rU")
id_str = input("type in the id#: ")
#read line by line
for i in userfile:
newfile = i[:-1]
#if the comparison string matches with the user input, then print out those lines.
comparison_str = ' '
for j in newfile:
if j == id_str:
comparison_str += j
print(comparison_str)
#this line is still iffy.
if comparison_str == id_str:
print(userfile)
此代码不会打印出任何内容。我想它比我得到的 TypeError 更好。