我对Python很感兴趣,我真的需要帮助。我有一个带有名称的.txt文件,然后是代理。例如
John: 53.3.5.7.33
Adam: 34.5.6.7.44
Steven: 56.3.8.3.55
Jack: 46.35.5.8.34
因此该文件包含数千个具有不同用户名/名称的文件。我想这样做,以便询问用户他们想要寻找的人,例如。
name=input("What name would you like to look for: ")
然后我想要打开.txt文件,搜索名称并将整行打印到用户,以便立即打印所有记录。 简而言之,就像ctrl + F然后搜索一个单词/名字。 我希望有人可以帮助我,谢谢你的阅读。对不起,如果它是愚蠢的,但我无法在任何地方找到它。
答案 0 :(得分:1)
假设您的文件内容为,
John: 53.3.5.7.33
Adam: 34.5.6.7.44
Steven: 56.3.8.3.55
Jack: 46.35.5.8.34
从用户那里获取输入,并迭代文件内容,
name=input("What name would you like to look for: ")
with open("file.txt") as f:
for line in f:
if name in line: # OR line.startswith(name)
print line
示例:
In [2]: name=input("What name would you like to look for: ")
What name would you like to look for: "Adam"
In [3]: name
Out[3]: 'Adam'
In [4]: with open('text.txt', 'r') as f:
...: for line in f:
...: if name in line:
...: print line
...:
Adam: 34.5.6.7.44
In [5]:
如果您的文字文件中的条目是唯一的,或者您只想要第一行符合搜索条件,请将 break 置于循环中。
等
In [4]: with open('text.txt', 'r') as f:
...: for line in f:
...: if name in line:
...: print line
...: break
...:
Adam: 34.5.6.7.44
答案 1 :(得分:0)
以下是可以执行此操作的python文件的内容:
def find_name(n, file_path):
with open(file_path) as fp:
for line in fp:
if n.lower() in line.lower():
print(line)
if __name__ == '__main__':
name = input("What name would you like to look for: ")
find_name(name, "path/to/file.txt")