Во всех случаях пользователь должен указать хотя бы один путь к программе. Гораздо проще указать этот путь или пути в командной строке (используя, скажем, argparse
), чем создать приятный интерактивный интерфейс. Более того, если вы используете парсер аргументов, такой как argparse
, ваша программа будет автоматически сценарием. В отличие от интерактивной программы всегда так медленно, как ее пользователь. Поэтому я почти всегда предпочитаю скриптовые программы, а не интерактивные.
Вот как это можно сделать, используя argparse :
import argparse
if __name__ == '__main__':
parser=argparse.ArgumentParser()
parser.add_argument('locations', nargs = '+')
args=parser.parse_args()
print(args.locations)
Бег
% test.py /path/to/repo
['/path/to/repo']
% test.py /home/joe/hg /home/joe/test
['/home/joe/hg', '/home/joe/test']
argparse
также может использоваться в сочетании с интерактивной программой. Например,
import argparse
import shlex
response = raw_input('Enter repo PATHs (e.g. /path/to/repo1 /path/to/repo2)')
parser=argparse.ArgumentParser()
parser.add_argument('locations', nargs = '+')
args=parser.parse_args(shlex.split(response))
print(args.locations)
argparse
является частью стандартной библиотеки Python 2.7. Для Python 2.3 или выше вы можете установить argparse .