【发布时间】:2015-06-09 22:49:26
【问题描述】:
我正在使用 QPython 和 QPython3 在我的 android 手机上运行一个用 python 编写的简单客户端-服务器程序。我需要传递一些命令行参数。我该怎么做?
【问题讨论】:
我正在使用 QPython 和 QPython3 在我的 android 手机上运行一个用 python 编写的简单客户端-服务器程序。我需要传递一些命令行参数。我该怎么做?
【问题讨论】:
我找到了几种运行从我的 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 解决了这个问题。)
【讨论】:
只需编写一个包装脚本,获取参数并使用 execfile 等函数传递给真实脚本,然后将脚本放入 /sdcard/com.hipipal.qpyplus/scripts 或 /sdcard/com.hipipal.qpyplus/scripts3 (对于 qpython3)。
然后点击开始按钮就可以在scripts中看到脚本了。
【讨论】: