zoukankan      html  css  js  c++  java
  • 匿名函数及paramiko模块

    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()
    
  • 相关阅读:
    tp5 thinkphp5 伪静态修改 fastadmin
    ThinnkPHP内置视图循环语句
    PHP禁止重写策略
    冒泡排序
    Ruby--正则
    JS正则
    JS禁止父元素事件
    Rails--default_scope
    公网映射
    查企业情况和招聘的网站
  • 原文地址:https://www.cnblogs.com/Agnostida-Trilobita/p/11053864.html
Copyright © 2011-2022 走看看