#python
#python
Вопрос:
У меня есть скрипт в каталоге bin моего проекта, и я хочу выполнить его из cron. Оба скрипта написаны на python.
Целевой файл :
App_directory/bin/script_name
Хотите выполнить script_name
скрипт с некоторыми параметрами из App_directory/cron/script_name1.py
Как мне этого добиться?
Ответ №1:
Попробуйте:
import os
os.system('/path/to/App_directory/bin/script_name')
Или если script_name
не является исполняемым и / или не имеет шабанга ( #!/usr/bin/env python
):
import os
os.system('python /path/to/App_directory/bin/script_name')
Комментарии:
1. У меня есть shabang #! /usr/bin / env python в файле script_name
2. -1: Пожалуйста, используйте
subprocess
. Смотрите это: docs.python.org/library/subprocess.html#replacing-os-system .
Ответ №2:
Модуль подпроцесса намного лучше, чем использование os.system. Просто сделайте:
import subprocess
subprocess.call(['/path/to/App_directory/bin/script_name'])
Подпроцесс.функция вызова возвращает код возврата (статус завершения) скрипта.
Ответ №3:
У меня это работает…
import subprocess
process = subprocess.Popen('script_name')
print process.communicate()