繁体   English   中英

在文本文件中寻找行号和行号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM