gpt4 book ai didi

python - 来自变量的参数?

转载 作者:太空宇宙 更新时间:2023-11-04 05:29:38 25 4
gpt4 key购买 nike

我是 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。

最佳答案

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

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()

关于python - 来自变量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com