Запустить программу в оболочке Python

Это простое сомнение. Я сохраняю демо файл: test.py В консоли Windows я могу запустить файл с помощью: C:\>test.py

Вместо этого, как я могу выполнить файл в оболочке Python?

спасибо

Ответ 1

Используйте execfile для Python 2:

>>> execfile('C:\\test.py')

Используйте exec для Python 3

>>> exec(open("C:\\test.py").read())

Ответ 2

Если вы хотите запустить script и закончите с подсказкой (чтобы вы могли проверять переменные и т.д.), используйте:

python -i test.py

Это запустит script, а затем отправит вас в интерпретатор Python.

Ответ 3

Это зависит от того, что находится в test.py. Ниже приведена соответствующая структура:

# suppose this is your 'test.py' file
def main():
 """This function runs the core of your program"""
 print("running main")

if __name__ == "__main__":
 # if you call this script from the command line (the shell) it will
 # run the 'main' function
 main()

Если вы сохраните эту структуру, вы можете запустить ее так же, как в командной строке (предположим, что $ - это приглашение командной строки):

$ python test.py
$ # it will print "running main"

Если вы хотите запустить его из оболочки Python, вы просто выполните следующее:

>>> import test
>>> test.main() # this calls the main part of your program

Нет необходимости использовать модуль subprocess, если вы уже используете Python. Вместо этого попробуйте структурировать файлы Python таким образом, чтобы их можно запускать как из командной строки, так и из интерпретатора Python.

Ответ 4

Для более новой версии python:

exec(open(filename).read())

Ответ 5

В той же папке вы можете:

import test