脚本运行——从 QEditor 保存到终端执行的完整流程
创建脚本的方式
QPython 中创建 Python 脚本(.py 文件)主要有三种方式:
方式一:QEditor 新建(推荐)
- 打开 QEditor(底部「编辑器」按钮)
- 点击右上角
+图标 - 选择 Python 脚本模板
- 编辑器里开始写代码
- 点保存(右上角文件图标),输入文件名(不需要加
.py,QEditor 会自动补)
新建文件默认保存到 scripts/ 目录。
方式二:终端里写
在 REPL 里直接用 Python 写文件:
>>> with open("my_script.py", "w") as f:
... f.write('print("Hello QPython")\n')
方式三:外部文件复制
从 PC 或其他途径把 .py 文件传到手机上,然后通过 QPython 的文件浏览器定位并打开。
运行脚本的方式
QEditor 里直接运行
在 QEditor 打开一个 .py 文件后,界面上有明显的 Run 按钮(通常是三角形播放图标)。点击后脚本会在后台执行,输出结果显示在 QEditor 下方或弹出的终端窗口里。
终端里执行
在 REPL 中,有几种方式执行脚本:
方式 A:exec
>>> exec(open("scripts/my_script.py").read())
这会把文件内容读进来然后执行,输出直接显示在 REPL 里。exec 模式下定义的变量可以在后续 REPL 会话中继续使用。
方式 B:subprocess
>>> import subprocess
>>> subprocess.run(["python3", "scripts/my_script.py"], capture_output=True)
这种方式是启动一个独立进程运行脚本,脚本的 stdout 和 stderr 通过 subprocess.run 返回。适合不想让脚本污染 REPL 变量空间的场景。
主界面「运行脚本」入口
QPython 主界面通常有一个专门的「运行脚本」入口,点击后弹出文件选择器,选中 .py 文件即可执行。这是最简便的方式,不需要进入终端。
运行输出和结果
标准输出
脚本里的 print() 输出会自动显示在对应的终端区域。如果脚本是后台执行的,输出会被缓冲,执行完成后一并显示。
返回值
脚本本身没有返回值概念。如果需要脚本计算某个结果并保存,可以:
- 写入文件:
with open("result.txt", "w") as f: f.write(str(result)) - 用
droid.makeToast(str(result))弹窗显示(需要导入androidhelper) - 在 REPL 中用
exec执行后,变量可以直接访问
运行状态
长时间运行的脚本会在 QPython 通知栏显示状态。如果需要监控脚本进度,可以让脚本定期调用 droid.makeToast() 更新弹窗,或者写入日志文件。
同时运行多个脚本
QPython 可以在 REPL 里用 threading 启动多线程,也可以用 subprocess 启动多个子进程。但移动端资源有限,建议:
- 单个脚本内尽量用多线程而不是多进程
- 避免同时运行超过 3 个长时任务
- 长时间运行的脚本申请前台服务,防止被系统杀
小结
QPython 运行脚本的方式非常灵活——QEditor 里一键 Run、REPL 里 exec 执行、主界面入口文件选择,三种方式各有适用场景。日常开发用 QEditor 写 + Run 按钮执行最顺手,需要在 REPL 里调试或动态生成脚本时用终端方式。
下一步可以看 环境变量和路径配置,了解如何让脚本导入自定义模块。