Не прямой ответ, но связанный.
Обычно, когда вы пишете скрипт python, вы можете использовать пакет argparse
. ЕСЛИ это случай, который вы можете использовать:
parser = argparse.ArgumentParser()
parser.add_argument('infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
'?'. Один аргумент будет потребляться из командной строки, если это возможно, и создается как отдельный элемент. Если аргумент командной строки отсутствует, будет создано значение по умолчанию.
blockquote>, и мы установили по умолчанию
sys.stdin
;, так что если есть файл он будет читать, а если нет, то он будет принимать входные данные из stdin «Примечание: мы используем позиционный аргумент в приведенном выше примере»
для более подробной информации: https: // docs. python.org/2/library/argparse.html#nargs
Используйте этот фрагмент (первоначально взят из djangosnippets.org/snippets/1378/ );
>>> from my_projects.tools import resolve_to_name
>>> print resolve_to_name('/some/url')
'app.views.view'
>>> print resolve_to_name('/some/other/url')
'this_is_a_named_view'
;)