что такое shebang, который мы используем для скрипта python в Windows? [Дубликат]

Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.

Для Ex:

SqlConnection connection = null;
connection.Open();

Когда вы запускаете это кода, вы получите:

System.NullReferenceException: Object reference not set to an instance of an object.

Вы можете избежать этой ошибки, например, следующим образом:

if (connection != null){
    connection.Open();
}

Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.

47
задан dsimcha 27 September 2011 в 20:46
поделиться

4 ответа

Не с shebang ... но вы можете установить ассоциацию файлов, см. этот SO-вопрос , который посвящен Perl и связанным с ним ответам, которые также будут уместны, поскольку есть известные проблемы с Перенаправление Windows и stdin / out ...

0
ответ дан Community 26 August 2018 в 00:17
поделиться

Если вы не используете cygwin, окна не имеют поддержки shebang. Однако, когда вы устанавливаете python, он добавляется как ассоциация файлов для .py-файлов. Если вы укажете только имя своего сценария в командной строке или дважды щелкните его в проводнике Windows, то он будет запущен через python.

Что я делаю, это включить скрипты #!/usr/bin/env python в мои скрипты. Это позволяет поддерживать shebang на linux. Если вы запустили его на машине с установленным python, тогда должна существовать ассоциация файлов, и она также будет работать.

32
ответ дан David Z 26 August 2018 в 00:17
поделиться

Читайте о Python Launcher для Windows в документах, которые были изначально описаны в PEP 397 . Он позволяет определять пользовательские конфигурации shebang в ini (например, использовать pypy), но из коробки вы можете использовать виртуальные shebangs, такие как #!/usr/bin/env python3, или shebangs с реальными путями, такими как #!C:\Python33\python.exe. Вы также можете добавить параметры командной строки в shebang. Например, следующий shebang добавляет возможность входа в интерактивный режим после завершения сценария: #!/usr/bin/python3 -i.

Python 3.3 связывает типы файлов сценариев .py (консоль) и .pyw (GUI) с соответственно названными пусковые установки, py.exe и pyw.exe, чтобы обеспечить поддержку shebang скриптов в Windows. При установке для всех пользователей новые пусковые установки устанавливаются в корневую папку Windows (т. Е. %SystemRoot%). В противном случае вы захотите добавить каталог установки в PATH, чтобы использовать py.exe в оболочке cmd. Затем из командной строки вы можете запускать py -2, py -3, py -2.6, py -3.3-32 (32-бит) и т. Д. Пусковая установка удобна в сочетании с -m для запуска модуля в качестве сценария, например. py -3 -m pip install.

Существует также версия pylauncher , которая может быть установлена ​​отдельно, если вы используете только Python 2.

26
ответ дан eryksun 26 August 2018 в 00:17
поделиться

Установить pywin32. Одна из приятных вещей - настройка файловой ассоциации * .py на интерпретатор python.

2
ответ дан Wai Yip Tung 26 August 2018 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: