[英]looking for line and linenumber in text file
我为聊天程序做了一个额外的功能,该功能允许您键入一个特定的命令进行注册,该命令使主机脚本保存您的对等名称和您在终端中插入的名称,它的保存如下57883:Jack在txt文件中(在主机上)。 如果有很多人注册,它将看起来像这样
57883:jack
57884:bob
57885:connor
57886:james
57887:zzhshsb93838
57887:ryan
当某人发送消息时,我想知道他/她的姓名是否已注册,如果已注册,请将该名称发送给客户端,这样,客户端无需看到同名,便会看到发送消息的人的姓名。 为了做到这一点,我需要知道对等名称是否在文件中,如果是; 文件中的哪一行。 到目前为止,我已经做到了:
peer = sock.getpeername()
with open('names.txt', 'r') as d:
lines = d.readlines()
for peer in lines:
而且我不知道如何找出在哪条线找到的时间,何时我知道如何分开57883和ack并选择jack并保存。 干杯!
with open("names.txt", "r") as f:
for i, line in enumerate(f):
numb, name = line.rstrip().split(":")
print i, numb, name
您可以要求Python为文件的每一行提供行号和行内容的元组(请参见enumerate(f)
)。 然后,删除行终止符(请参阅line.rstrip()
),并将行拆分为由提供的字符分隔的部分(请参见split(":")
)。 然后,您将拥有所有三个组件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.