擅长:python、mysql、java
<p>在模块中定义了一个名为main()的类和函数,但没有调用它。所以在定义之后称之为。放在结尾:</p>
<pre><code>main()
</code></pre>
<p>您的代码中还有其他问题。您的构造函数名称必须是:</p>
^{pr2}$
<p>最好使用readlines()代替read():</p>
<pre><code>lines = open(filename).readlines()
</code></pre>
<p>在for循环中使用行。所以你的代码应该是这样的:</p>
<pre><code>import sys
class DebianPackage:
def __init__(self, name, votes, size):
self.name = name
self.votes = votes
self.size = size
def main():
if len(sys.argv) != 3:
print('error: you must supply exactly two arguments\n\n'+
'usage: python3 <Python source code file> <text file> <n> <W>')
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)
main()
</code></pre>