【发布时间】:2015-03-09 22:05:05
【问题描述】:
我正在尝试将 txt 文件中的行添加到 python 列表中以进行迭代,并且脚本想要打印每一行并返回错误。我正在使用 readlines() 函数,但是当我使用 list.remove(lines) 时,它会返回错误:File "quotes.py", line 20, in main list.remove(lines) TypeError: remove() takes exactly one argument (0 given).
def main():
while True:
try:
text_file = open("childrens-catechism.txt", "r")
lines = text_file.readlines()
# print lines
# print len(lines)
if len(lines) > 0:
print lines
list.remove(lines)
time.sleep(60)
else:
print "No more lines!"
break
text_file.close()
我看不出我做错了什么。我知道这与 list.remove() 有关。提前谢谢你。
【问题讨论】:
-
您希望
list.remove(lines)做什么?remove是list类型的方法,因此您必须在特定列表上调用它,而不是在list本身上调用它。 -
我正在尝试打印第一行,将其删除,等待 60 秒,然后打印文件的第二行。我希望它循环直到它到达 txt 文件的末尾。
-
我认为您应该查看the Python tutorial 并找到一些有关如何在 Python 中处理文件的基本资料。您的代码根本没有遍历文件中的行。此外,您有一个没有任何
except的try,并且您的while True循环在第一次迭代时将始终break。 -
@BrenBarn 这是我第一次接触 Python。我浏览了一些教程,但发现这里对解释问题更有帮助。
-
如果您将 TypeError 放在标题中并作为单独的问题询问延迟打印行,您的问题可能对未来的读者更有帮助。