Как выполнить файл в интерпретаторе Python?

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

http://jsfiddle.net/ms403Ly8/2/

HTML:

Testing ng-class using function

CSS:

.testclass { Background: lightBlue}

JavaScript:

function testCtrl($scope) {
    $scope.getCSSClass = function() {
     return "testclass ";
  }     
}

266
задан Adam Matan 22 June 2009 в 04:15
поделиться

4 ответа

Несколько способов.

Из оболочки

python someFile.py

Изнутри IDLE нажмите F5 .

Если вы печатаете в интерактивном режиме, попробуйте следующее: ( Только Python 2 !)

>>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module

Для Python3 используйте:

>>> exec(open("filename.py").read())
204
ответ дан 23 November 2019 в 02:24
поделиться

Предположим, Вы требуете следующих функций:

  1. Исходный файл ведет себя правильно в Вашем отладчике (шоу имени файла в стеке, и т.д.)
  2. __name__ == '__main__' Верно, таким образом, сценарии ведут себя правильно как сценарии.

exec(open('foo.py').read()) функция сбоев 1 import foo стратегия приводит функцию к сбою 2

Для получения обоих, Вам нужно это:

    source = open(filename).read()
    code = compile(source, filename, 'exec')
    exec(code)
0
ответ дан 23 November 2019 в 02:24
поделиться

Для Python 2:

>>> execfile('filename.py')

Для Python 3:

>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())

См. документацию . Если вы используете Python 3.0, см. этот вопрос .

См. Ответ @ S.Lott для примера того, как вы получаете доступ к глобальным переменным из filename.py после его выполнения.

242
ответ дан 23 November 2019 в 02:24
поделиться

Я пытаюсь использовать переменные и настройки из этого файла, а не вызывать отдельный процесс.

Ну, простой импорт файла с import filename (минус .py, должен находиться в том же каталоге или в вашем PYTHONPATH ) запустит файл, сделав его переменные, функции, классы и т. д. . доступны в пространстве имен filename.variable .

Итак, если у вас есть cheddar.py с переменной spam и функцией яйца - вы можете импортировать их с помощью import cheddar , откройте переменную с помощью cheddar.spam и запустите функцию, вызвав cheddar.eggs ()

. Если у вас есть код в cheddar.py , то есть вне функции он будет запущен немедленно, но создание приложений, запускающих данные при импорте, затруднит повторное использование вашего кода. Если возможно, поместите все в функции или классы.

должен находиться в том же каталоге или на вашем PYTHONPATH ) запустит файл, сделав его переменные, функции, классы и т. д. доступными в пространстве имен filename.variable .

Итак, если у вас есть cheddar.py с переменной spam и функцией яйца - вы можете импортировать их с помощью import cheddar , получить доступ к переменной с помощью cheddar.spam и запустите функцию, вызвав cheddar.eggs ()

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

должен находиться в том же каталоге или на вашем PYTHONPATH ) запустит файл, сделав его переменные, функции, классы и т. д. доступными в пространстве имен filename.variable .

Итак, если у вас есть cheddar.py с переменной spam и функцией яйца - вы можете импортировать их с помощью import cheddar , получить доступ к переменной с помощью cheddar.spam и запустите функцию, вызвав cheddar.eggs ()

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

доступны в пространстве имен filename.variable .

Итак, если у вас есть cheddar.py с переменной spam и функцией яйца - вы можете импортировать их с помощью import cheddar , откройте переменную с помощью cheddar.spam и запустите функцию, вызвав cheddar.eggs ()

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

доступны в пространстве имен filename.variable .

Итак, если у вас есть cheddar.py с переменной spam и функцией яйца - вы можете импортировать их с помощью import cheddar , откройте переменную с помощью cheddar.spam и запустите функцию, вызвав cheddar.eggs ()

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

spam и запустите функцию, вызвав cheddar.eggs ()

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

spam и запустите функцию, вызвав cheddar.eggs ()

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

30
ответ дан 23 November 2019 в 02:24
поделиться
Другие вопросы по тегам:

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