我需要从外部SD卡运行Python脚本,目标设备将其挂载为/mnt/sdcard/_ExternalSD
。
我已经成功地通过在标准SL4A脚本目录中准备“代理”脚本ExtSDRun.py
以快速和肮脏的方式实现这一目标,如果我的目标设备是/mnt/sdcard/sl4a/scripts
import android
droid = android.Android()
import os
import sys
# Add directory with the scripts to the Python path
sys.path.append("/mnt/sdcard/_ExternalSD/scripts")
# Start the script located in the external SD card
# in the script_to_run.py file
import script_to_run
# You can also do:
# from script_to_run import *
有没有更好,更优雅的方法来实现这一目标?
答案 0 :(得分:0)
我很确定你可以从外部SD卡运行脚本。试试this。它是一个简单的Python函数,可以启动任何脚本SL4A具有已安装的解释器,给定脚本的任意路径。我没有外接卡来测试它,但看不出它失败的原因。
答案 1 :(得分:-2)
简短的回答:你做不到。做你正在做的更好的方法是将一个main函数设置为script_to_run。即如果script_to_run包含这个:
import sys
sys.stdout.write('Hi!\n') #Technically I should use print, but I'm trying
#to make the program longer.
你会这样做:
import sys
def main():
sys.stdout.write('Hi!\n')
然后,当您导入它时,请使用:
import script_to_run
script_to_run.main() #This is what runs the script
另请参阅https://stackoverflow.com/a/4463726/2097780。我不建议这样做,但如果你不能用另一种方式调用main,它可能是一个选项。
祝你好运!