Py学习  »  Python

无法在python中打印列表值

ebo ahmad • 5 年前 • 1497 次点击  

我正在尝试组织一点服务器日志,这些日志被“”分隔开。 现在我想改变项目的位置,当我把它们放在一个列表中,并试图打印出来保存到一个新的文件,它给了我

print(result[0])
IndexError: list index out of range

列表中的每个位置都是一样的,不仅是0

with open("logs-DD-MM-YYYY.txt") as f:
     for line in f:
         result = line.split('|')
         print(result[0])
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44076
 
1497 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Reedinationer
Reply   •   1 楼
Reedinationer    6 年前

你应该把它放在 try: & except: 条款。

with open("logs-DD-MM-YYYY.txt") as f:
    for line in f:
        try:
            result = line.split('|')
            print(result[0])
        except:
            print("ERROR IN FORMATTING: {}".format(line))

这将允许python至少在遇到错误的地方打印。那你就可以从那里解决问题了!

ajithkp12
Reply   •   2 楼
ajithkp12    6 年前

在打印结果[0]之前,我会检查结果列表是否为非空。我想你可能遇到一个空行。这就是为什么您看到索引超出范围错误的原因。在这种情况下,使用try catch捕获异常。