Python 变量的参数?
我是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 =
,
分隔值读取文件的每一行。就像这句话:
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()
不客气。请阅读