从外部SD卡运行Py4A脚本?

时间:2013-06-11 20:10:18

标签: android python sl4a

我需要从外部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 *

有没有更好,更优雅的方法来实现这一目标?

2 个答案:

答案 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,它可能是一个选项。

祝你好运!