python列表中存类对象为什么不能打印_在类对象列表中输入textfile,然后输出列表内容...

作为当前项目的一部分,我试图将文本文件的内容加载到类对象的列表中,然后输出这些对象。粗略地看了一眼,我的指导老师说我的代码看起来不错,但是没有输出。我按回车键,然后…什么也没有。它甚至不打印“加载”的代码。它只是提示输入一个新的输入,就好像我在没有任何说明的情况下按了enter。我不知道这些对象是否被正确地加载到列表中,我认为它们没有。我只使用Windows控制台来运行这个,所以调试是有限的和缓慢的。在

我是Python的新手,但这不是Python课程,而是算法。但是我们的项目需要用Python编写,所以我在边走边学。我通常用C、C++或java编写代码。我学到的,我从这里学到的,还有我的老师给我的一些有用的教程。我已经在这里搜索过了,但是我看到的很多代码看起来像我所拥有的。所以,我问你们这些非常聪明的人。。。在

我错过了什么?我没有正确地把文件载入内存吗?打印线不正确吗?还有什么我忽略的吗?在

任何帮助都将不胜感激。在

更新:由于下面的好人,它正在运行,但现在我得到了以下错误:Traceback (most recent call last): File

"D:\CPSC335\Project_2\project2.py", line 28, in

main() File "D:\CPSC335\Project_2\project2.py", line 24, in main

packages.append(DebianPackage(*line.split())) TypeError: init() missing 2 required positional arguments: 'votes' and 'size'

所以,看起来我没有正确地从文本文件中提取数据。这是一个问题吗?在

命令输入:C:\Python34>python D:\CPSC335\Project_2\project2.py D:\CPSC335\Project_2\packages.txt 5

文件名:软件包.txt在

^{pr2}$

代码:project2.pyimport sys

class DebianPackage:

def __init__(self, name, votes, size):

self.name = name

self.votes = votes

self.size = size

代码:project2.py(根据下面的帮助更新)def main():

if len(sys.argv) != 3:

print('error: you must supply exactly three arguments\n\n'+

'usage: python3 ')

sys.exit(1)

filename = sys.argv[1]

n = int(sys.argv[2])

lines = open(filename).readlines()

print('Loaded "' + filename)

packages = []

for line in lines:

packages.append(DebianPackage(*line.split()))

for package in packages:

print(package.name + ' ' + package.votes + ' ' + package.size)

if __name__ == "__main__":

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值