python备忘录

1、python 字符串过滤


crazystring = 'dade142.!0142f[., ]ad'
 
# 只保留数字
new_crazy = filter(str.isdigit, crazystring)
print(''.join(list(new_crazy)))
# 只保留字母
new_crazy = filter(str.isalpha, crazystring)
print(''.join(list(new_crazy)))
 
 
# 只保留字母和数字
new_crazy = filter(str.isalnum, crazystring)
print(''.join(list(new_crazy)))
 
# 如果想保留数字0-9和小数点’.’ 则需要自定义函数
 
new_crazy = filter(lambda ch: ch in '0123456789.', crazystring)
print(''.join(list(new_crazy))

字符串.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。

字符串.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。

字符串.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。

字符串.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。

字符串.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。

字符串.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。

字符串.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。

2、@用法:
@一般用于修饰函数,最近版本好像可以修饰类了。如:

def call_cmd(fn):
    def rpc_cmd(*args,**kwargs):
    	try:
    		fn(*args,**kwargs)
    	except ERROR as e:
    		print e
    		exit(1)
    return rpc_cmd

@call_cmd
def instances(a,b):
    print a**2+b**2

instances(1,2)

@相当于实际调用的是该函数,如上述实例,最终调用的结果是call_cmd(instances),等价于rpc_cmd(1,2)

3、*args,**kwargs用于接收可变参数
*arg主要用于接收可变数量的普通变量,而,**kwargs用于接收可变数量的kv变量。
如instance(“test”,3,0.5,k1=33,k2=“val2”)

4、改变进程名,用setproctitle

5、获取系统状态、进程信息等,使用psutil,在不同的系统下都适用。可以获取包括CPU信息、内存信息、磁盘信息、网络信息、进程信息等。
正常是根据进程号实例化一个Process对象,如:

import psutil
psutil.pids()
p = psutil.Process(14191)

但一般情况是我们只知道进程名,这时候就需要遍历所有的进程,找到对应的进程。

for p in psutil.process_iter():
	tryif p.name() == proc_name:
			proc_info = p.as_dict(attrs=['status', 'create_time', 'cpu_percent', 'memory_info'])
			proc_cpu_rate += proc_info['cpu_percent']
	except Exception, e:
		pass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值