sys.path автоматически не включает текущий рабочий каталог - PullRequest
0 голосов
/ 14 февраля 2020

Я использую установщик python .org на Win 10. документы говорят, что при запуске сценария из командной строки первым элементом в sys.path будет путь к сценарию , Я всегда это вижу. В этих документах не говорится, что вторым элементом будет каталог, из которого запускается скрипт, но за годы использования Python я всегда видел такое поведение, и другие также ссылаются на него. В документах говорится, что sys.path «инициализируется из переменной окружения PYTHONPATH плюс установка по умолчанию, зависящая от установки». Я хотел бы понять, что означает эта фраза. Например, если PYTHONPATH пуст (PowerShell: $env:PYTHONPATH = ""), то, к моему удивлению, этот второй элемент не добавляется. Otoh, если PYTHONPATH начинается с точки с запятой (PowerShell: $env:PYTHONPATH = ";"), то добавляется второй элемент.

Я полагаю, что это должно быть ожидаемое поведение? Я ищу меня. подтверждение этого предположения, и II. и объяснение того, что я вижу (как описано в конце предыдущего параграфа). Я думаю, что PYTHONPATH из ";" считается, что начинается с пустой строки, и это вызывает включение рабочего каталога.

...