Невозможно получить доступ к аргументам командной строки в Python 3.6;Python Launcher проблема? - PullRequest
0 голосов
/ 21 марта 2019

Я недавно наконец-то переместил свой Python по умолчанию с 3,6 на 3,6.

Как ни странно, я не могу заставить sys.argv работать правильно.

Короткая программа testargs.py:

#!python3
import sys
print("This is the name of the script: ", sys.argv[0])
print("Number of arguments: ", len(sys.argv))
print("The arguments are: " , str(sys.argv))

Когда я запускаю его с аргументами ("abcdefg"), эти аргументы не отображаются в sys.argv:

C:\test>testargs.py abcdefg
This is the name of the script:  C:\test\testargs.py
Number of arguments:  1
The arguments are:  ['C:\\test\\testargs.py']

Я полностью смущен этим. Есть идеи?

Я использую пусковую установку Python; это проблема?

Когда я специально вызываю тот или иной интерпретатор Python, это выглядит нормально:

C:\test>c:\Python27\python.exe testargs.py abcdefg
('This is the name of the script: ', 'testargs.py')
('Number of arguments: ', 2)
('The arguments are: ', "['testargs.py', 'abcdefg']")

C:\test>c:\Python36\python.exe testargs.py abcdefg
This is the name of the script:  testargs.py
Number of arguments:  2
The arguments are:  ['testargs.py', 'abcdefg']

1 Ответ

0 голосов
/ 23 марта 2019

Кажется, это давняя труднопроизводимая ошибка в Python: https://bugs.python.org/issue7936.Отчет об ошибке включает в себя редактирование реестра, которое, как сообщается, касается этой проблемы, но мне неудобно возиться с ним;так что я просто буду жить с этим, пока полностью не уйду от Python 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...