Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 287

quit станет частью входных данных, поэтому показалось логичным использовать

ее в качестве контрольного значения (индикатора конца). Вам следует отправить-

ся прямо к нему и сказать все как на духу, я подожду.

Если после этого у вас все еще есть работа, можете просмотреть все точки оста-

нова с помощью команды b:

(Pdb) b

Num Type Disp Enb Where

1 breakpoint keep yes at /Users/williamlubanovic/book/capitals.py:6

breakpoint already hit 1 time

Команда l покажет вам строки кода, текущую строку (->) и все имеющиеся

точки останова (B). Вызов команды l без аргументов выведет все строки, начиная

с точки предыдущего вызова команды l, поэтому включите в вызов опциональный

параметр — стартовую строку (в нашем примере начнем с 1):

(Pdb) l 1

1 def process_cities(filename):

2 with open(filename, 'rt') as file:

3 for line in file:

4 line = line.strip()

5 if 'quit' in line.lower():

6 B-> return

7 country, city = line.split(',')

8 city = city.strip()

9 country = country.strip()

10 print(city.title(), country.title(), sep=',')

11

Теперь модифицируем наш тест так, чтобы выполнялась проверка на полное

совпадение со строкой quit, без всяких других символов:

def process_cities(filename):

with open(filename, 'rt') as file:

for line in file:

368

Глава 12. Быть питонщиком

line = line.strip()

if 'quit' == line.lower():

return

country, city = line.split(',')

city = city.strip()

country = country.strip()

print(city.title(), country.title(), sep=',')

if __name__ == '__main__':

import sys

process_cities(sys.argv[1])

Запустим программу еще раз:

$ python capitals2.py cities2.csv

Buenos Aires,Argentina

La Paz,Bolivia

Brasilia,Brazil

Santiago,Chile

Bogotá,Colombia

Quito,Ecuador