我有一个像这样的块:
example of list:
pommes : 54
bananes : 18 : 99
orange
测试左弦和右弦是否用:分隔,右弦的类型是 int 。
我正在尝试将额外的“:99”作为错误捕获。此外,如果缺少 my:这一事实。如果有任何方法可以添加并将其与gauche2 [2]相关联。
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()
答案 0 :(得分:1)
您可以使用 split()和 len :
data = """
exemple of list:
pommes : 54
bananes : 18 : 99
orange
"""
for line in data.splitlines():
if len(line.split(':')) > 2:
raise ValueError(line, '<< bad line')
对于你的例子:
for i in message:
parts = i.split(":")
if len(parts) > 2:
raise ValueError(i, '<< bad line')