Как я могу сделать один файл python другим?

Как я могу сделать один файл python для запуска другого?

Например, у меня есть два файла .py. Я хочу, чтобы один файл запускался, а затем запустил другой .py файл.

Ответ 1

Существует несколько способов. Я перечислил их в порядке инвертированного предпочтения (то есть, во-первых, лучше всего в последнем):

  • Рассматривайте его как модуль: import file. Это хорошо, потому что оно безопасно, быстро и обслуживается. Код используется повторно, поскольку это должно быть сделано. Большинство библиотек Python запускаются с использованием нескольких методов, растянутых по множеству файлов. Настоятельно рекомендуется. Обратите внимание, что если ваш файл называется file.py, ваш import не должен включать расширение .py в конце.
  • Беспокойная (и небезопасная) команда exec: execfile('file.py'). Небезопасный, хакерский, обычно неправильный ответ. Избегайте, где это возможно.
  • Вызвать процесс оболочки: os.system('python file.py'). Используйте при отчаянии.

Ответ 2

Получить один файл python для запуска другого, используя python 2.7.3 и Ubuntu 12.10:

  • Поместите это в main.py:

    #!/usr/bin/python
    import yoursubfile
    
  • Поместите это в свой файл yoursubfile.py

    #!/usr/bin/python
    print "hello";
    
  • Запустите его:

    python main.py 
    
  • Он печатает:

    hello
    

Таким образом, main.py запускает yoursubfile.py

Есть 8 способов ответить на этот вопрос. Более канонический ответ здесь: Python: как импортировать другие файлы Python

Ответ 3

  • вы можете запустить ваш .py файл просто с помощью этого кода:

import os 
os.system('python filename.py')

Примечание:  поместите файл в тот же каталог вашего основного файла python.

Ответ 4

Вы обрабатываете один из файлов в качестве модуля python и заставляете его импортировать его (как вы импортируете стандартные модули python). Затем последний может ссылаться на объекты (включая классы и функции), определенные в импортированном модуле. Модуль также может запускать любой требуемый код инициализации. См. http://docs.python.org/tutorial/modules.html

Ответ 5

Я использовал subprocess.call почти так же, как subprocess.Popen

from subprocess import call
call(["python", "your_file.py"])

Ответ 6

Вы можете использовать этот script:

def run(runfile):
  with open(runfile,"r") as rnf:
    exec(rnf.read())

Синтаксис:

run("file.py")

Ответ 8

Его можно назвать aa1.py из основного script, как показано ниже,

#!/usr/bin/python
import aa1
aa1

aa1.py может быть что-то ниже,

print'abc'