Python新手求助:如何在.txt文件中查找匹配姓名并输出整行
Python实现姓名查找代理记录的脚本
没问题,刚接触Python也不用慌,我给你写个简单易懂的脚本,完全能实现你要的功能~
首先,先明确需求:从你的txt文件里,根据用户输入的姓名,找出所有包含该姓名的整行记录,就像Ctrl+F那样。下面是具体的代码和说明:
完整代码
# 获取用户输入的目标姓名 name = input("What name would you like to look for: ") # 替换成你的txt文件路径,比如文件和脚本在同一个文件夹里,直接写文件名就行 file_path = "your_records.txt" # 安全打开文件并逐行处理 with open(file_path, 'r') as file: # 遍历文件的每一行 for line in file: # 用带冒号的格式精准匹配,避免类似"John"和"Johnny"的误匹配 if f"{name}: " in line: # 打印匹配的整行,strip()去掉多余的换行符 print(line.strip())
关键细节说明
- 文件路径:把
your_records.txt换成你实际的文件名,如果文件不在脚本同目录,要写完整路径(比如C:/Users/xxx/Documents/records.txt)。 - 精准匹配:用
f"{name}: "来判断,而不是直接查name,是为了防止出现类似输入"John"却匹配到"Johnny"的情况,确保只找完整的姓名项。 - 安全文件操作:
with open(...)是Python推荐的文件操作方式,它会自动帮你关闭文件,不用手动处理,新手用起来更省心。
如果你的txt文件里每条姓名+代理是单独一行,这个脚本会直接输出对应的行;如果是一行里有多个记录,它也会输出包含目标姓名的整行,完全符合你要的效果~
内容的提问来源于stack exchange,提问作者Kidnaps




