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