使用源创建 python 到 运行 终端命令的脚本
Create python script to run terminal command with source
长话短说,我正在尝试找出一种方法将这些命令行转换为 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')
使用此方法时,我收到有关未找到源的错误消息。
我认为问题是我基本上是在尝试调用太多相互终止的独立进程?必须有更好的方法。任何建议将不胜感激!
我把函数改成了:
import subprocess
def startTheCamera()
subprocess.call("/home/pi/Desktop/launchCamera.sh")
我使用了 subprocess 而不是 os.system 并包含了完整的文件路径,现在可以使用了。我想也许它只需要完整的文件路径,即使它们都在同一个目录中。
长话短说,我正在尝试找出一种方法将这些命令行转换为 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')
使用此方法时,我收到有关未找到源的错误消息。
我认为问题是我基本上是在尝试调用太多相互终止的独立进程?必须有更好的方法。任何建议将不胜感激!
我把函数改成了:
import subprocess
def startTheCamera()
subprocess.call("/home/pi/Desktop/launchCamera.sh")
我使用了 subprocess 而不是 os.system 并包含了完整的文件路径,现在可以使用了。我想也许它只需要完整的文件路径,即使它们都在同一个目录中。