부품이 누락 된 문자열을 분할하고 싶습니다. 예 : "foo-bar"
은 "foo"
과 "bar"
으로 분할해야하며 "zot"
은 "zot"
과 None
으로 분할해야합니다. 하지만 두 번째의 첫 번째 경우에 대한분할 된 데이터 누락을 처리하는 방법은 무엇입니까?
foo,bar = line.split('-',1)
작품 :
ValueError: need more than 1 value to unpack
나는, 물론, 먼 길을 갈 수 있습니다
foobar = line.split('-',1)
if len(foobar) == 2:
foo,bar = foobar
else:
foo,bar = foobar[0],None
을하지만, 이것이 궁금 가장 "파이썬"적인 방법.
다른 많은 옵션이 있습니다 :'시도 : ValueError' 제외하고, '가'- 'line'에 ... 실종 라인이 있습니까 특별하다? – jonrsharpe
당신의'else'는'foo, bar = line, None' 또는'foo, bar = foobar [0], None'이되어야합니다. –