Python文本文件修剪冒号
我有一个文本文件,看起来像这样Python文本文件修剪冒号,python,string,text,trim,truncation,Python,String,Text,Trim,Truncation,我有一个文本文件,看起来像这样 firstname:lastname:123456789 somename:somelastname:12312456456 ... 我想将每个名称、lastname和id放入它自己的变量中 到目前为止,我就是这样做到的 with open("somefile.txt", 'r') as a: phonebook = a.readlines() l = 0 while (len(phonebook) < l+1): firstname =
firstname:lastname:123456789
somename:somelastname:12312456456
...
我想将每个名称、lastname和id放入它自己的变量中
到目前为止,我就是这样做到的
with open("somefile.txt", 'r') as a:
phonebook = a.readlines()
l = 0
while (len(phonebook) < l+1):
firstname =
lastname =
number =
l++
打开(“somefile.txt”,“r”)作为:
电话簿=a.读线()
l=0
而(len(电话簿)
并且卡在了修边部分
with open("somefile.txt", 'r') as a:
for line in a:
firstname, lastname, number = line.split(":")
number = int(number)
无需使用
.readlines()
将电话簿作为列表存储在内存中。如果文件很大,这将是一个问题,因为您将使用大量内存。你可以一行一行地直接遍历它。提取变量非常容易,这得益于str.split
方法和元组解包,您可以查找这些变量。只需将数据存储在一个列表中,每个行的子列表拆分为firat name、last name和id
with open("somefile.txt", 'r') as f:
data = [line.strip().split(":") for line in f]
您也可以使用dict,但除非您想按名称进行查找,否则将没有真正的优势,但即使这样,名称也需要是唯一的,如果您只想在循环中使用每一段数据,而不是存储所有数据,那么将其用作迭代:
with open("somefile.txt", 'r') as f:
for line in f:
fn, ln , _id = line.strip().split(":")
没问题,你是威克洛姆。