我想搜索文本文件并输出与用户输入匹配的子字符串,但是当我的程序搜索每一行时,我希望它仅搜索“ |”之间的字符。字符和行尾。但我一直收到以下错误:
Enter city name or partial city name: Wax
Traceback (most recent call last):
File "Program0.py", line 16, in <module>
main()
File "Program0.py", line 10, in main
y = line[char_pos, x]
TypeError: string indices must be integers, not tuple
代码
def main():
user_input = raw_input("Enter city name or partial city name: ")
name_city_files = open("personnel_addresses.txt", "r")
data_file = open("data.txt", "w")
name_city_contents = name_city_files.readlines()
name_city_files.close()
for i, line in enumerate(name_city_contents):
char_pos = line.find("|")
x = len(line)
y = line[char_pos, x]
if user_input in y:
for l in name_city_contents[i]:
data_file = open("data.txt", "a")
data_file.write(l)
main()
文本文件(部分):
Japheth Edwards|Albany
Evan Taylor|Wax
Olivia Grimme|Wax
您应该使用切片。只需在代码中将,
替换为:
:
y = line[char_pos:x]