Python 变量的参数?

Python 变量的参数?,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我是python新手,我正在尝试用逗号,分隔值读取文件的每一行。就像这句话: 435,567,897,905,6,56,22,90. 我现有的代码 #!/usr/bin/python class Line(): def __init__(self, val1, val2, val3, val4, val5, val6, val7, val8): self.val1 = val1 self.val2 = val2 self.val3 =

我是python新手,我正在尝试用逗号
分隔值读取文件的每一行。就像这句话:

435,567,897,905,6,56,22,90.
我现有的代码

#!/usr/bin/python

class Line():
    def __init__(self, val1, val2, val3, val4, val5, val6, val7, val8):
        self.val1 = val1
        self.val2 = val2
        self.val3 = val3
        self.val4 = val4
        self.val5 = val5
        self.val6 = val6
        self.val7 = val7
        self.val8 = val8

    def display(self):
        print("CPU:",self.val1)

file = open("/Users/user/Desktop/data.txt", 'r')

for line in file:
 line = line.split(",")
 li = str(line)[1:-1]
 lin = Line(li)
 lin.display()

file.close()
data.txt
如下所示

435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90
435,567,897,905,6,56,22,90

请帮助我如何打印第一个值,如CPU:value。

要将列表中的值解压到函数的所有参数中(在本例中为
行)。请使用
*
运算符,如下所示:

lin = Line(*li)

您需要将每个
中的每个项传递给
构造函数。一种方法是写:

li = Line(line[0], line[1], line[2], line[3], line[4], line[5], line[6], line[7]))
但这是一个很大的写作。Python有一个快捷方式:

li = Line(*line)
这将做同样的事情

不确定为什么要使用
str(line)[1:-1]

无论如何,这意味着您的代码可以重新编写为如下所示,其中还使用了
with
语句,该语句将在循环后自动关闭文件:

class Line():
    def __init__(self, val1, val2, val3, val4, val5, val6, val7, val8):
        self.val1 = val1
        self.val2 = val2
        self.val3 = val3
        self.val4 = val4
        self.val5 = val5
        self.val6 = val6
        self.val7 = val7
        self.val8 = val8

    def display(self):
        print("CPU:", self.val1)

with open("/Users/user/Desktop/data.txt", 'r') as file
    for line in file:
        line = line.split(",")
        lin = Line(*line)
        lin.display()
不客气。请阅读