“人生苦短,我用python”
python丰富的开发库确实为广大使用者缩减了大量的开发时间。小ming没事用python跑个自动化脚本,枯燥乏味的工作就让电脑帮忙做。
怎样在安卓上运行python
出于各种原因,电脑是不能一直开着的。那么能否在手机上运行python呢?答案是肯定的。这里安利一款神器:termux。看名字可以猜到,termux是运行在安卓系统上的终端模拟器和linux运行环境。虽然是叫模拟器,但是无法掩盖他的强大,在这个app里面可以安装linux图形操作系统,这个操作系统又能够安装其他linux软件,只要手机配置足够,理论termux上能做一切linux能做的事情。所以安装python当然是不在话下。
termux安装配置
小ming在这帮大家排个坑,国内各大市场下载的termux安装包普遍会出现unable to install错误提示,所以建议还是去playstore或者f-droid上下载。
出现welcome to termux表示安装成功了
termux安装python
点击屏幕弹出键盘,输入代码,或者长按粘贴
pkg install python -y
termux会从服务器下载python 最新版自动安装上,这里和linux终端安装命令是一致的,并且有种熟悉的感觉,pip安装其他python模块的时候,也是类似的安装方式。安装完成后,输入python,就出现熟悉的 python console界面,可以试一下
print('hello world')
看下是不是成功打印出来了。
以root权限修改系统文件
也许很多同学都用过这段代码去读写文件:
with open('test.txt','w') as f:
f.write('string')
其实在termux环境下这段代码同样可以起作用,并且在当前工作目录生成test.txt文件。可是当目标文件处于安卓系统区域的话,运行会提示没有权限。这个时候就得获取root权限了。前提是手机系统要先root。
安装tsu,通过管理员权限运行python
apt install tsu
其实输入su是可以直接进入管理员模式的,不过这个太鸡肋了,很多命令运行不了,显示python等等未安装。tsu修复了这一系列问题。
输入 tsu ,同时弹出获取root权限提示窗,允许termux获取root权限,可以进入管理模式,然后直接输入python进入console,或者带上.py文件的文件路径直接运行python脚本也是可以的。这种方式运行的python就有权限去访问data/data/app中的数据了。
termux访问手机文件,首先输入命令
termux-setup-storage
弹出读取手机存储照片权限,点击同意。termux会在/data/data/com.termux/files/home/目录中生成storage目录,里面有个shared目录其实就是/sdcard/的软连接就能看到手机存储卡中的文件
cd storage/shared ls
如果test.py文件放在/emulate/0/或者/sdcard/下面,这时要运行test.py就输入:
python /sdcard/test.py
如果test.py文件放在/data/data/com.termux/files/home/目录下,这时要运行test.py,普通就输入:
python ~/test
su模式,有点麻烦:
cd ~
cd ../
python ~/test.py
这里说下termux下工作路径问题:
正常模式也就是显示$符号的时候,输入pwd 或者~
显示的目录是:/data/data/com.termux/files/home/
tsu模式,输入~
显示的目录是:/data/data/com.termux/files/home/.suroot
所以放到sdcard/最方便了。运行python读取文件的时候也要注意切换到su模式后工作路径的变化。在su模式下,可以尝试对/data/data/等目录下的文件进行读写操作,是不是跟读写普通文件一样游刃有余?有想法的同学可以自己写一些脚本去控制其他app了。暂时没有想到有趣的例子。小ming目前主要用python脚本从网上爬取免费的vmess结点然后自动更新到app的配置文件。
效果还是不错的。
以后有机会更新吧……
python调用安卓api
首先安装Termux:API.apk到安卓系统中,下载地址
官网提示不要在Google Play 和 F-Droid 之间混合安装Termux 和 插件。
之后在termux 中键入命令
pkg install termux-api
安装完成后,就能执行相关的api命令了,比如
termux-clipboard-set hello world
如果是python脚本,也很简单
import os
os.system('termux-clipboard-set hello world')
这时候切出去找个地方长按粘贴,看下是不是"hello world"。更多的api可以去参考Termux:API官方文档 。
在手机上编写python脚本
小ming一般不会有如此疯狂的操作。会用vim的朋友可以在termux中安装vim,或vim-python:
pkg install vim-python
运行vim编写home目录下test.py文件
vim ./test.py
其实还可以安装Ubuntu等图形操作系统,然后可以安装vscode...
总归码代码还是电脑爽些。
结尾
这篇到此为止了,主要讲了用termux终端在安卓系统运行python,当然qpython也是个不错的选择。不过居然已经用上了强大的termux,自然而然想去了解termux其他用法,后续会跟新一些termux相关的话题