代码之家  ›  专栏  ›  技术社区  ›  Charlotte

如何将文件列表中的每一行放入单独的变量中?

  •  -5
  • Charlotte  · 技术社区  · 7 年前

    如何将文件中的每一行转换为单独的变量?

    例如,如果这是我的文本文件。。。

    泰勒·斯威夫特,1989年

    碧昂斯,1982年

    Demi Lovato,1993年

    如何将该文件的每一行转换为4个独立的变量?每一行都是一个字符串。由于它们是变量,我可以通过打印其变量来打印程序任何部分的每一行。

    3 回复  |  直到 7 年前
        1
  •  -1
  •   David Zhan Liu    7 年前

    首先,逐行将文件读入字符串;然后将字符串转换为变量。在python中,可以执行以下操作

    i = 0
    with open("file.txt", "r") as ins:
        v = "var"+str(i)
        for line in ins:
           exec(v+"='str(line)'")
        i+=1
    

    另一种方法是将行读入列表:

    with open("file_name.txt", "r") as f:
        line_list = []
        for line in f:
            line_list.append(line)
    

        2
  •  -1
  •   Yardid    7 年前

    变量是不可能的,但它们可以存储在列表中的不同位置

    file = open("filepath","r")
    data = file.readlines()
    file.close()
    

    数据应作为列表中的一个元素显示在每一行中

        3
  •  -1
  •   0TTT0    7 年前

    很可能你真的想要创建一个字典。

    vars = []
    artists = {}
    
    with open ('random.txt', 'r') as file:
        for line in file:
            vars.append(line.strip().split(','))
    for var in vars:
        artists[var[0]]= int(var[1])
    
    print(artists)