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

Python 如何将文件列表中的每一行转换为单独的变量?,python,algorithm,variables,file-handling,Python,Algorithm,Variables,File Handling,如何将文件中的每一行转换为单独的变量 例如,如果这是我的文本文件 泰勒·斯威夫特,1989年 碧昂丝,1982 Zara Larsson,1998年 黛米·洛瓦托,1993年 如何将此文件的每一行转换为4个单独的变量?每一行都是一个字符串。由于它们是变量,我可以通过打印程序的变量来打印程序任何部分的每一行。首先,逐行将文件读入字符串;然后将字符串转换为变量。在python中,可以执行以下操作 i = 0 with open("file.txt", "r") as ins: v = "va

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

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

泰勒·斯威夫特,1989年

碧昂丝,1982

Zara Larsson,1998年

黛米·洛瓦托,1993年


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

首先,逐行将文件读入字符串;然后将字符串转换为变量。在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)

您的第一行可以在行列表[0]中访问,第二行在行列表[1]中访问等等。变量是不可能的,但它们可以存储在列表中的不同位置

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

数据应该作为列表中的一个元素存储在每一行中

最有可能的情况是您实际想要创建一个字典

file = open("filepath","r")
data = file.readlines()
file.close()
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)

程序将如何产生变量名?你确定你不想把它们变成一个列表吗?我会使用带有多个键的
dict
,而不是试图创建多个变量……关于如何从文件中读取,有很多例子。为什么它们都没有帮助您为解决方案编写哪怕是一行代码?欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。在这里申请。StackOverflow不是设计、编码、研究或教程服务。谢谢,但我现在如何识别或命名每个单独的变量,以便稍后在代码中轻松打印出来?例如,如果第一行是一个名为“line1”的变量,我可以说是print(line1),它将为me@Charlotte不要使用这种方法。这是不安全的,这是一个坏习惯,而且会导致混乱的代码。相反,使用一个容器,比如
列表
你能把变量命名为“line”+str(i)吗?当你创建变量的时候,变量在哪里递增?如果您只想将这些行读入一个有序的数据结构,我建议您使用一个列表,而不是创建单独的变量请告诉我该怎么做,我不知道。这个文件应该代表一个歌曲列表,任务是编写一个代码,允许用户创建一个播放列表-从文件列表中选择他们想要添加的曲目,并将它们添加到这个新的播放列表中,然后在代码末尾打印出来。你知道怎么做吗@胡安帕。arrivillaga@Charlotte目前在我的手机上,但有几个答案,告诉你如何阅读列表中的行,包括这一个。不要使用
eval
的方法来创建动态变量,这是一种非常草率的方法。请不要推荐这种方法。