Pull to refresh

Comments 6

Про разделить ничего не понятно, если имя файла содержит спецсимвол, то его надо экранировать, ну и зачем вообще упоминать argparse когда есть docopt?

Ведущий деш — это не спецсимвол, по крайней мере для шелла. Чтобы сработало экранирование, его должна поддерживать сама утилита, grep так умеет, например: grep -r \\- *. А touch, например, нет: touch \\-f создаст файл \-f.

Судя по гитхабу, docopt заброшен, ишью никто не лечит.
Ещё есть github.com/pallets/click, там получше с этим.
Но у argparse есть преимущество — он в stdlib и работает везде без pip. Иногда это имеет значение.
Честно говоря отсутствие коммитов вполне может означать, что всё отлично работает и достаточно для 99.9% случаев, а наличие как раз незрелость, активную стадию разработки.
Декоратор из функционального класса — это нормально, но попробуйте задекорировать им метод класса. Нет, можно, конечно, но несколько сложнее. Я совсем не сразу нашел ответ на stackoverflow…
Тем не менее, такой совместный доступ будет даже полезен, если использовать объект для создания общего кэша:

def fact(x, cache={0: 1}):

Помещать деталь реализации в сигнатуру функции не надо.
Ничего хорошего в таком коде нет — это откровенный антипаттерн.
Sign up to leave a comment.