Чтение аргументов командной строки
python main.py hello world
Чтение аргументов командной строки в Python производится с помощью модуля sys (ссылка на документацию).
Пример:
import sys
print(sys.argv)
Пишем в терминале:
$ python main.py hello world
['main.py', 'hello', 'world']
sys.argv разделяет аргументы по пробелам, но учитывает кавычки:
$ python main.py "hello world"
['main.py', 'hello world']
Первый элемент в списке sys.argv всегда содержит имя скрипта. При вызове программы из IDLE, sys.argv[0] содержит полный путь к скрипту, а при вызове из командной строки, sys.argv[0] содержит первый аргумент команды python. При запуске exe программы, созданной с pyinstaller, sys.argv[0] содержит полный путь к исполняемому файлу.
Примеры:
import sys
print(sys.argv[0])
$ python main.py
main.py
$ python ../main.py
../main.py
$ pyinstaller --onefile main.py
$ ./dist/main
# полный путь к исполняемому файлу
Остальные аргументы можно получить с помощью sys.argv[1:].
import sys
print(sys.argv[1:])
$ python main.py hello world
['hello', 'world']
$ python main.py
[]