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