2

我需要从外部 SD 卡运行 Python 脚本,它在目标设备中安装为/mnt/sdcard/_ExternalSD.

ExtSDRun.py通过在标准 SL4A 脚本目录中准备“代理”脚本,我已经成功地以一种快速而肮脏的方式实现了这一点,如果我的目标设备是/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 *

有没有更好更优雅的方式来实现这个目标?

4

2 回答 2

0

我很确定您可以从外部 SD 卡运行脚本。试试这个。这是一个简单的 Python 函数,可以启动任何脚本 SL4A 安装了解释器,给定脚本的任意路径。我没有外部卡来测试它,但看不出它失败的原因。

于 2013-07-09T14:00:14.727 回答
-1

简短的回答:你不能。一个更好的方法来做你正在做的事情是把一个主函数是 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 ,它可能是一个选择。

祝你好运!

于 2013-06-26T20:45:20.567 回答