Блог компании Mail.Ru Group
Python
Программирование
Комментарии 6
0
Про разделить ничего не понятно, если имя файла содержит спецсимвол, то его надо экранировать, ну и зачем вообще упоминать argparse когда есть docopt?
0

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

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

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

Помещать деталь реализации в сигнатуру функции не надо.
Ничего хорошего в таком коде нет — это откровенный антипаттерн.
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.