QPython Android Kivy,从python脚本

时间:2016-08-10 13:21:11

标签: android python qpython

当我的QPython android脚本尝试启动另一个qpython脚本时,我收到了一个权限被拒绝错误。 我假设这可以做到 - 对吧?

我已经尝试过subprocess.call,这似乎是正确的做法。 但是,脚本不运行,日志显示权限被拒绝错误。

显而易见的事情是查看子脚本的权限,但我不知道如何在我的Android手机上执行此操作。

任何意见/建议都表示赞赏。

感谢。

2 个答案:

答案 0 :(得分:1)

首先,如何打开命令提示符(bash)

实际上qpython =终端模拟器+ Python代码编辑器+ Python解释器。 所以当然你可以使用控制台!为什么你不能输入bash是因为每次你点击qpython中的控制台图标它都会运行python。只需输入会导致解释器错误的内容,例如“我想要bash!”然后运行它,解释器将中断然后返回bash。

enter image description here

其次,qpython如何运行你的脚本

它将你的python脚本传递给shell脚本(qpython.sh),然后通过python解释器运行你的脚本。

第三,关于权限

为什么许可被拒绝?您无法直接运行python脚本,因为它未标记为可执行文件。但是你可以将脚本的路径传递给python解释器来运行它。

最后,如何在qpython中通过python脚本调用python脚本?

#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import subprocess
print("I am calling myself!")
pysh="/data/data/org.qpython.qpy/files/bin/qpython-android5.sh"
#if U R using android 5
#else
pysh="/data/data/org.qpython.qpy/files/bin/qpython.sh"
callpy=__file__
#the script path you want to run
subprocess.call([pysh,callpy])

enter image description here

希望这对你有帮助!

(我无法自己添加图片,因为我没有那么多的声誉,我需要其他人将我的图片链接更改为图片。所以如果你喜欢我的答案,请投票给我。谢谢。)

答案 1 :(得分:0)

一旦知道脚本的位置,只需移动到该文件夹​​,然后使用以下命令列出文件:

ls -l

该命令将所有文件与权限(第一列)一起输出。 现在,将权限更改为"执行"你可以使用:

chmod 755 [your-script-name]