1.匿名函数
随着程序代码的不断增加,起名字其实也是非常困难的一件事
一些简单的功能完全没必要用def函数,匿名函数足矣
def test(x,y): return x+y res = test(1,2) print(res) res = (lambda x,y: x+y)(1,2) 匿名函数用lambda定义 print(res)
上面两个函数实现的功能相同
2.内置函数
1)max
info = { 'li': 2000, 'zhao':30000, 'wu': 25000, 'du': 40000 } def func(k): return info[k] res = max(info,key=lambda k: info[k])将info输入到key=后的函数中 print(res)
2)sorted 排序
info = { 'li': 2000, 'zhao':30000, 'wu': 25000, 'du': 40000 } res = sorted(info,key=lambda k:info[k]) print(res)
3)map:映射
l1 = [1,2,3] l2 = ['a','b','c','d'] res = zip(l1,l2) print(list(res)) l2中多出来的元素并不会与l1中元素进行对应,输出不会报错并且只输出有对应的部分
names = ['zhao', 'du', 'wu'] info = [] for name in names: data = name.replace(name,'%s_NB' % name) info.append(data) print(info) res = map(lambda name: '%s_NB' % name,names) print(list(res))
4)filter 过滤
names = ['zhao_NB', 'du_NB', 'wu_NB','li'] for name in names: if name.endswith('NB'): print(name) res = filter(lambda name: name.endswith('NB'),names) print(list(res))
3.paramiko模块
模拟ssh登录linux主机,有上传和下载功能
1)登录
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname='192.168.52.233',port=22,username='root',password='1') while True: cmd = input('[root@V1 ~ ]# ').strip() if cmd: stdin,stdout,stderr = ssh.exec_command(cmd) print(stdout.read().decode('utf-8'))
2)上传和下载
import paramiko t = paramiko.Transport(('192.168.52.233',22))必须为元组形式 t.connect(username='root',password='1') sftp = paramiko.SFTPClient.from_transport(t) sftp.put(r'pass','pass')上传,路径必须为绝对路径,后面的路径必须指定文件名可相同可不同 sftp.get('pass',r'pass')下载 sftp.close()