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

开发中遇到的一些问题汇总

时间:2016-07-28 15:43:55      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

buffer中内容的decode

使用paramiko执行远程ssh命令返回后,如果用stdout读了返回的内容,对其进行解码时,会因为远端的系统语言字符集和本地不一致,导致EncodeErr错误。解决方法

def ssh_and_exec(ip,username,passwd,cmd):

    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ip,22,username,passwd,timeout=5)
        stdin,stdout,stderr=ssh.exec_command(cmd)
        if stdout != None:
            #out = stdout.readlines()
            buf = stdout.read()
            ret_list=buf.decode(ascii,replace).split(\n)
            ssh.close()
            print "ssh to %s and exec:%s ok"%(ip,cmd)
            return ret_list
        if stderr != None:
            print stderr
            ssh.close()
            return None    
    except Exception :
        print "ssh to %s login:%s passwd:%s error "%(ip,username,passwd)

 

json.dumps的编码问题

json.dumps处理非ascii时,会出错,解决方法如下:

out=json.dumps(policys_dict,ensure_ascii=False)

 

不同字符集间的转换处理

先用decode统一转成unicode,再encode转成对应的字符集。

技术分享

 

查看内存

技术分享

开发中遇到的一些问题汇总

标签:

原文地址:http://www.cnblogs.com/blue-sea-sky/p/5714950.html

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