码迷,mamicode.com
首页 > 其他好文 > 详细

匿名函数及paramiko模块

时间:2019-06-19 20:05:51      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:linu   put   匿名   inf   mes   相同   tde   code   实现   

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()

 

匿名函数及paramiko模块

标签:linu   put   匿名   inf   mes   相同   tde   code   实现   

原文地址:https://www.cnblogs.com/Agnostida-Trilobita/p/11053864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!