Я недавно работал с скриптом python, который использовал файл dll, который был первоначально написан на C++. Сценарий питона был этот импорт строка в верхней части этого:Что делает #using dll_file в python
from mycustomdll import *
Однако всякий раз, когда я запустил скрипт, жаловался, не будучи в состоянии найти пакет mycustomdll. Я посмотрел в другом скрипте, который также использовал DLL и увидел следующую строку вверху.
#using mycustomdll
Я добавил эту строку в начало первого файла, а скрипт python работал без проблем. Коллега предположил, что строка #using действует как декларация пространства имен. Еще одно возможное объяснение заключается в том, что он ведет себя как своего рода предпроцессорная директива для интерпретатора python.
Что именно делает # использование, чтобы выставить файл dll на python для импорта?
вопрос: есть ли у python специальные ключевые слова, такие как переопределение стандартного поведения # в качестве комментария? Если да, то каковы они (есть ли список где-нибудь, где я могу ознакомиться?)
Мы используем настраиваемое подмножество предварительно скомпилированных пакетов IronPython для нашей среды сборки, некоторые из которых, возможно, были написаны в доме, t упускать возможность, что это не стандартное поведение.
Я никогда не слышал об этом раньше. Единственные комментарии времени имеют смысл в Python находится в самом верху файла, где первые две строки могут иметь значение. Первой строкой может быть строка «shebang», указывающая, чтобы выполняемый интерпретатор (например, '#!/Usr/bin/env python3'). Это в основном используется внешними инструментами, чтобы найти подходящего интерпретатора для использования для скрипта, а также для запуска программы py.exe для Windows. Первая или вторая строка также может указывать кодировку исходного файла, как описано в [PEP 263] (https://www.python.org/dev/peps/pep-0263/). В противном случае комментарий - это просто комментарий, я думаю. – Blckknght
@Blckknght Вот что я тоже подумал! Но я не могу спорить с тем, что происходит. Он был сломан, я добавил эту строку, и она больше не сломана. Как я уже сказал, это может быть что-то в этом обычном предварительно скомпилированном интерпретаторе IronPython, который используется здесь, и в этом случае мне, возможно, придется попытаться найти кого-нибудь, кого бы это связало и спросить. Спасибо за эту ссылку – Tuffwer
Если бы это было стандартно в IronPython, я бы ожидал, что он будет документирован здесь; https://ironpython-test.readthedocs.org/en/latest/reference/lexical_analysis.html, но это не так. – cdarke