차라리 요란하게 실패하는 것이 더 나은 선택입니다. 파이썬의 기본 철학인 파이썬의 선에서 이야기한 중요한 조언을 명심하세요. ‘오류는 절대 조용히 지나가선 안 됩니다.’
이번에는 데이터 파일로 station-latitudes.txt를 사용하는 대신 station-lattrunc.txt를 사용해 보겠습니다. station-lattrunc.txt 파일은 station-latitudes.txt 파일을 축소한 버전으로, 이 예제를 위해 제가 가공한 파일입니다.
zip()을 이용하여 반복 가능한 객체의 무결성 검증하기
>>> stations = []
>>> with (
... open("station-names.txt") as names,
... open("station-lattrunc.txt") as lats,
... open("station-longitudes.txt") as lons,
... open("station-elevations.txt") as els,
... ):
... for datum in zip(names, lats, lons, els):
... datum = (d.rstrip() for d in datum)
... stations.append(Station(*datum))
...
>>> assert len(stations) == 1255
Traceback (most recent call last):
[...]
AssertionError
>>> len(stations)
1250