Чтение аргументов командной строки
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
[]