Проблема в том, что когда bitcoin_address
равно None
(не предоставлено пользователем), ваша программа все еще пытается объединить его в str
, что определенно не будет работать.
Чтобы решить эту проблему, вы можете добавить некоторый код, который проверяет результат parse_args
и выдает ошибку, когда это происходит, например:
if args.address is None:
raise ValueError('A bitcoin address must be provided.')
Отдельно, пока ваш подход кформатирование строки обычно правильно, вам следует рассмотреть возможность перехода от форматирования в стиле C к методу format
, например:
В начале вашего сценария:
base_url = 'https://blockexplorer.com/api/addrs/{address}/txs?from={from}&to={to}'
и далее в функции:
full_url = base_url.format(address=bitcoin_address,
from=from_number,
to=to_number)