Python 从列表中分离的错误不起作用
我的代码中有一部分导致了我的问题。首先,软件的这一部分将执行该功能,它将对其进行测试,并根据我先前打开的文件显示错误 如果我现在打印(i)的位置,它会打印列表和错误。我尝试了多种方法来设置错误后的while true和if,但从未奏效 谢谢,这是代码的一部分Python 从列表中分离的错误不起作用,python,Python,我的代码中有一部分导致了我的问题。首先,软件的这一部分将执行该功能,它将对其进行测试,并根据我先前打开的文件显示错误 如果我现在打印(i)的位置,它会打印列表和错误。我尝试了多种方法来设置错误后的while true和if,但从未奏效 谢谢,这是代码的一部分 if texte in choix: message = sorted(ligne(texte)) for i in message: parts = i.split(":") gauche
if texte in choix:
message = sorted(ligne(texte))
for i in message:
parts = i.split(":")
gauche = parts[0].strip()
droite = parts[1]
try:
droite = int(droite)
print(i)
except ValueError:
print("La ligne '", i, "' n'est pas correctement formaté.")
sys.exit()
if not gauche.isalpha():
print("La ligne '", i, "' n'est pas correctement formaté.")
sys.exit()
break
else:
print("Il faut préciser le nom du fichier à traiter")
break
列表示例:
波姆斯:54
巴南:18
橙子:30
ananas :12
clémentines :77
cerises de terre: 43
我得到的结果是
ananas : 12
bananes : 18
cerises de terre : 43
La ligne ' cerises de terre : 43 ' n'est pas correctement formaté.
我只想要
La ligne ' cerises de terre : 43 ' n'est pas correctement formaté.
这个怎么样:
if texte in choix:
message = sorted(ligne(texte))
for i in message:
parts = i.split(":")
gauche = parts[0].strip()
droite = parts[1]
try:
droite = int(droite)
if not gauche.isalpha():
print("La ligne '", i, "' n'est pas correctement formaté.")
sys.exit()
except ValueError:
print("La ligne '", i, "' n'est pas correctement formaté.")
sys.exit()
print(i)
break
else:
print("Il faut préciser le nom du fichier à traiter")
break
但是,如果您只想打印错误,请删除
print(i)
准确的缩进在Python代码中非常重要。也许你希望你的缩进,这样这个代码就有意义了。你也可以发布你收到的确切错误消息吗?对不起,我修复了它…复制粘贴坏了。这段代码几乎不能正常工作,但它只显示列表,而不显示错误。错误在ValueError中:我已经更新了我的代码,这样你就可以看到我想要的输入。只需删除try
块中的print(I)
。@Isen我看不到显示的任何列表。我假设这里的部分混乱是,异常的错误消息和if not gauche.isalpha():
是相同的。这对调试没有什么特别的帮助。我完全同意,但坦率地说,我不想详细说明:)因为我正在测试左表达式和右表达式。他们两个不只是一个。它也不起作用,因为我仍然收到输出中的列表,并带有错误。问题是我需要在for和打印中处理错误,但如果错误发生,我需要排除打印。@我不知道,因为您正在打印拆分之前的i
。这两条失败路径最终都会出现完全相同的错误消息。@我编辑了代码,它非常难看,但应该符合您的需要。