class a:
def __init__(self):
pass
class b(a):
def __init__(self,name=None):
a.__init__(self)
self.name=name
在继承中,子类要覆盖父类的方法,这时调用父类的方法为什么必须加上self? python不是会自动加么?
str() 和 repr() 的区别?
is 关键字和 == 的区别。 a='hello';b=a;c=a[:];a is c; a is b; a==b; a==c??
2009年1月18日星期日
2009年1月16日星期五
python 中的正则表达式模块 re
import re
p = re.compile(r', (\d{1,3})%')
if p.match('100% up, 23% down'):
print 'ok'
print p.search('100% up, 23% down').groups()
python 获取 shell 命令的输出
有两种方法。
一种是Popen:
另外一种则可返回状态与调用的shell命令的输出结果
Thanks to sin :)
-----
延伸:通过 dir(commands) 可以得知,实际上 有 getoutput 这个只获取输出的简单方法的。
一种是Popen:
import subprocess
output = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE,shell=True).communicate()
print output[0]
另外一种则可返回状态与调用的shell命令的输出结果
import commands
status, output = commands.getstatusoutput('ls -l')
Thanks to sin :)
-----
延伸:通过 dir(commands) 可以得知,实际上 有 getoutput 这个只获取输出的简单方法的。
2009年1月13日星期二
linux主机做网关,iptables脚本。
eth0绑内网IP,eth1绑外网IP
以下内容加入自启动脚本:
以下内容加入自启动脚本:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/iptables --flush INPUT
/sbin/iptables --flush FORWARD
/sbin/iptables --flush POSTROUTING --table nat
/sbin/iptables --policy FORWARD DROP
/sbin/iptables --table nat --append POSTROUTING --out-interface eth1 --source 192.168.0.0/24 --jump MASQUERADE
/sbin/iptables --append FORWARD --in-interface eth1 --match state --state ESTABLISHED,RELATED --jump ACCEPT
/sbin/iptables --append FORWARD --source 192.168.0.0/24 --jump ACCEPT
订阅:
博文 (Atom)