Создать python скрипт для запуска команды терминала с источником - PullRequest
0 голосов
/ 30 апреля 2020

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

Это командные строки в Linux:

source tflite1-env/bin/activate
python3 stream.py --modeldir=TFLite_model

Сначала мне показалось, что это будет легко - просто запустить приложение в python - но я не совсем уверен, как поступить с исходной частью. Я думал, что это просто доступ к каталогу, но он что-то делает с файлом. csh ...

Я попробовал очень запутанный метод, создав файл. sh, например, так:

#!/bin/bash
cd ..
cd tflite1 
source tflite1-env/bin/activate
python3 stream.py --modeldir=TFLite_model

и затем создание функции для моей основной программы для вызова указанного файла:

import os
def startCamera():
os.system('sh script.sh')

При использовании этого метода я получаю сообщение об ошибке, что источник не найден.

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

1 Ответ

0 голосов
/ 30 апреля 2020

Я изменил функцию на:

import subprocess
def startTheCamera()
  subprocess.call("/home/pi/Desktop/launchCamera.sh")

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

...