asdf
发表于 : 2008-09-01 22:41
asdf
这个大叔懒是出了名的eexpress 写了:啊。原来如此。呵呵。
抱住不放的纯属爱好和恋物……flyinflash 写了:My First Program in Python
我的第一个Python程序
有时启动Ubuntu进入X后,才插网线,发现/etc/init.d/networking不会自动运行设置dhcp获取IP和校园网认证信息。
理想情况是:插入网线后,运行一个程序后自动设置好IP和通过认证。屈指一算,看《Byte of Python》已经有两周了,
于是写了一个简陋的小程序。
软环境:Ubuntu 8.04,广州某高校TMD校园网
硬:Thinkpad R60
备注:为什么是有个“TMD”前缀呢,因为,
一、校方提供不稳定的网络服务,表现为经常断线、掉线、网络速度慢;
二、校方提供不稳定的网络服务的同时,又强制不允许学生接入200电话和电信ADSL宽带,强制学生使用校园网。
步骤:
一、设置本机为自动配置(DHCP)方式获取IP地址;
二、向网络主机发送ICMP回显请求(ECHO_REQUEST)分组,即ping校园网网络中心提供dhcp服务主机。因为dhcp主机有时“不稳定”,
所以要ping主机,以确保它没有阳痿。没有阳痿则播放音乐,准备校园网认证;阳痿则回到第一步;
三、认证。由于对socket、encrypt/decrypt和mulit processes编程方面不是很熟悉,所以这步没有实现。
代码: 全选
#!/usr/bin/env python # filename: config_network.py # # Copyright 2008 Lee <flyinflash@gmail.com> # 08-09-01 Monday 11:47 # Power by GPL2 #!/usr/bin/python # Filename: config_network.py import os def main(): if os.system(”ping -c 3 192.168.1.253″) == 0: print ‘\nConnecting DHCP Host Successfully’ os.system(”ifconfig eth0 | grep 192.168″) print ‘\n’ os.system(”play /home/share/music/*.mp3″) else: if os.system(”ifconfig eth0 | grep 192.168″) != 0: os.system(”/etc/init.d/networking restart”) main() else: main() return 0 if __name__ == ‘__main__’: main()
TMD校园网提供有两种方式通过认证,一是运行“晕到死”only的GUI程序,另一种是打开并持续打开特定网页。
虽然后一种是跨平台的(安装任意支持http协议通信的浏览器即可),但是我对总是对出现一个多余的窗口反感,所以想把它整合到上面的程序中。
感想:
一、python真的易学易用。为什么那些猪头死抱VB、VC不放?
二、为什么我这么笨、蠢的人都可以用上python,比我聪明精灵的不去学不去用?
如何获取当前发行版名称(Gentoo/Ubuntu)?
普通用户执行超级用户作业?
949494flyinflash 写了:这个大叔懒是出了名的eexpress 写了:啊。原来如此。呵呵。
据说 eexpress 是大款了,那天大家一起做他一票……hellojinjie 写了:949494flyinflash 写了:这个大叔懒是出了名的eexpress 写了:啊。原来如此。呵呵。