将命令行参数传递给QPython

时间:2015-04-05 09:44:43

标签: qpython qpython3

我正在使用QPython和QPython3在我的Android手机上运行一个用python编写的简单客户端 - 服务器程序。我需要传递一些命令行参数。我该怎么做?

2 个答案:

答案 0 :(得分:1)

我找到了几种运行我从Linux笔记本电脑导入的脚本的方法。

如果我将frets.py放在script3目录中,并在同一目录中创建此脚本:

import sys, os
dir = '/storage/emulated/0/com.hipipal.qpyplus/scripts3/'
os.chdir(dir)        
def callfrets(val):
    os.system(sys.executable+" frets.py " + val)
while True:
    val = input('$:')
    if val:
        callfrets(val)
    else:
        break

我可以使用我在Linux中使用的相同命令行输入运行程序,在控制台上获取输出。只需从编辑器或programs菜单调用此脚本。

我还发现(在收到一些argparse错误后)我可以通过sys.exit(1)退出Python控制台来访问可用的Linux shell:

import sys
sys.exit(1)

将我带到/目录的shell中。更改目录

cd /storage/emulated/0/Download  # or to the scripts3 directory

让我直接运行原始脚本

python frets.py -a ...

此shell具有必要的权限$PATH/data/data/com.hipipal.qpy3/files/bin)。

(我在手机上工作时遇到了问题,但更新Qpython3可以解决这个问题。)

答案 1 :(得分:0)

只需编写一个包装脚本来获取参数并使用execfile之类的函数传递给真实脚本,并将脚本放入/sdcard/com.hipipal.qpyplus/scripts或/sdcard/com.hipipal.qpyplus/scripts3 (对于qpython3)。

然后,当您单击开始按钮时,您可以在脚本中看到该脚本。