【问题标题】:Python text file trim colonPython文本文件修剪冒号
【发布时间】:2015-09-26 14:02:26
【问题描述】:

我有一个像这样的文本文件

firstname:lastname:123456789
somename:somelastname:12312456456
...

我想将每个名字、姓氏和 id 放入它自己的变量中。

这就是我到目前为止的方式。

with open("somefile.txt", 'r') as a:
    phonebook = a.readlines()

l = 0
while (len(phonebook) < l+1):
    firstname = 
    lastname =
    number =

    l++

卡在修剪部分。

【问题讨论】:

    标签: python string text trim truncation


    【解决方案1】:

    只需将数据存储在一个列表中,每行的子列表分为 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(":")
    

    【讨论】:

    • 没问题,你不客气。
    【解决方案2】:
    with open("somefile.txt", 'r') as a:
        for line in a:
            firstname, lastname, number = line.split(":")
            number = int(number)
    

    没有必要将电话簿作为列表存储在内存中.readlines()。如果文件很大,这将是一个问题,因为您会使用大量内存。您可以直接逐行遍历它。由于str.split 方法和元组解包,提取变量非常容易,您可以查看这些。

    【讨论】:

      猜你喜欢
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      相关资源
      最近更新 更多