Это в порядке для использования тире в файлах Python при попытке импортировать их?

Таким образом, чтобы сделать это, если сделать переменную секретной, вы не сможете получить к ней доступ напрямую из любого сценария. То, что я делаю, - это то, что мне нужно, чтобы она расшифровывалась, это перейти в раздел переменных окружения задачи и ввести следующее.

enter image description here

Это расшифровывает переменную и устанавливает переменную с тем же именем, чтобы такие инструменты, как Terraform, могли получить к ней доступ.

132
задан Joan Venge 17 June 2011 в 23:04
поделиться

4 ответа

Вы должны проверить PEP 8 , Руководство по стилю для кода Python:

пакет Имена модулей Модули должны иметь короткие, строчные имена. Подчеркивания могут использоваться в имени модуля, если это улучшает читаемость. Пакеты Python также должны иметь короткие, строчные имена, хотя использование символов подчеркивания не рекомендуется.

Поскольку имена модулей сопоставляются с именами файлов, а некоторые файловые системы нечувствительны к регистру и усекают длинные имена, важно, чтобы имена модулей быть довольно коротким - это не будет проблемой в Unix, но может быть проблемой, когда код переносится в более старые версии Mac, Windows или DOS.

Другими словами: переименуйте свой файл: )

147
ответ дан 24 November 2019 в 00:08
поделиться

Проблема в том, что python-код не является идентификатором. Парсер видит это как python минус код . Конечно, это не будет делать то, что вы просите. Вам нужно будет использовать имя файла, которое также является действительным идентификатором Python. Попробуйте заменить - на подчеркивание.

28
ответ дан 24 November 2019 в 00:08
поделиться

Еще одна вещь, которую следует отметить в вашем коде, это то, что импорт не является функцией. Поэтому import (python-code) должен быть import python-code , который, как некоторые уже упоминали, интерпретируется как «импорт python-минус код», а не то, что вы намеревались. Если вам действительно нужно импортировать файл с тире в его имени, вы можете сделать следующее ::

python_code = __import__('python-code')

Но, как уже упоминалось выше, это не очень рекомендуется. Вы должны изменить имя файла, если это то, что вы контролируете.

113
ответ дан 24 November 2019 в 00:08
поделиться

Возможно, вы могли бы импортировать его с помощью некоторого хака __ import __ , но если вы этого еще не знаете как, ты не должен Имена модулей Python должны быть действительными именами переменных («идентификаторы») - это означает, что если у вас есть модуль foo_bar , вы можете использовать его из Python ( print foo_bar ). Вы не сможете сделать это со странным именем ( print foo-bar -> синтаксическая ошибка).

4
ответ дан 24 November 2019 в 00:08
поделиться
Другие вопросы по тегам:

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