python实现清华大学联网助手(三)——linux下带参数的自定义命令/import机制

上两篇已经大致满足了我起初设计的需求。

最后,对代码进行了一些优化,并且修改代码使一些函数方法可以重用。最终实现了如下功能:登录校园网、登出校园网、查询当前网络状态、查询流量、帐户余额、当前用户组等基本信息、查询本账号当前在线IP信息、查询每日流量使用明细并生成直方图。


本篇主要探讨两个问题:

1 如何将.py脚本制作成linux下带参数的自定义命令;

2 import机制及使用。


1 如何将.py脚本制作成linux下带参数的自定义命令:

具体要求:

咱们有1个py脚本文件,它可以接受很多参数。但现在要执行它,必须先cd到.py文件的目录下,然后python pytunet.py -i -a --check。当然可传入的参数有很多,比如-i -o -a -h --check等等,每一次执行都可能是这些参数的任意组合。但操作这么麻烦,违背了初衷。要是这样还不如打开浏览器登录我的网费查询账户呢。因此我们迫切需要一个方法,让它成为一个自定义命令。


解决办法:

a) 写一个shell脚本,将参数传给pyhton脚本,然后将shell脚本放在自己的bin下。

显然这个方法可以实现,但比较麻烦,难道没有更好的办法了吗?


b) 修改linux的默认python解释器,#!/usr/bin/env python,给主脚本修改755执行权限,将alias写到.bashrc中去。

可能这么一说我们并不懂,我们一条一条来看。

修改linux的默认python解释器。

因为一般linux都是预装python2的版本,而且系统内一些例行程序都需要python2,因此我们并不能删除。首先我们要安装python3.4。再删除原来/usr/bin下的python符号链接,再将python3.4设置为新的python符号链接。

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python3.4 /usr/bin/python

这样我们的python3.4就是默认的解释器了。


②将#!/usr/bin/env python作为你脚本文件中的第一句。

这样的话,我们就不必为脚本指定python3.4作为运行该脚本的解释器。因为开头包含#符号,所以一般情况下被视作注释。在执行脚本时,如果指定了解释器则忽视这段代码。如果没指定,就默认使用该代码所指定的解释器。

因此python ./pytunet.py -q也就可以写作./pytunet.py -q了。

这样离我们的目标更近了一些。


③给主脚本设置755权限。

一般文件的权限是rwxr--r--类似这样的形式。分别表示root用户, 同组用户和其他用户的权限。r为读权限,w为写权限,x为执行权限,-表示没有这种权限。同样为了更为简单的表示,我们用二进制数来代表响应的权限,如rwx为111,r-x为101,对应的十进制数rwx为7,r-x为5。因此所谓的755权限是rwxr-xr-x。一般而言,在我们普通的私人电脑中,设置755权限是没有问题的。因此可以放心。

那么我们可以这样设置主脚本的权限:sudo chmod 755 pytunet.py。


将alias写到.bashrc。

sudo权限打开用户路径下$HOME/.bashrc隐藏文件。选一个合适的位置加上如下alias:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值