• python常用功能总结


    经常写python,但很多小的点都记不住,每用必查,总结下来,下次查自己的吧。

    1.时间获取:

    import time
    print  time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
    结果:2016-10-10 22:25:26
     
    2.http发送post请求
    import urllib
    import urllib2

      try:

            post_map = {}

            tags_map = {}

            sql_map = {}

            sql_map["host"] = "10.218.145.123"

            sql_map["user"] = "root"

            sql_map["passwd"] = "123456"

            sql_map["db"] = "hdploy"

            sql_map["port"] = 3306

            tags_map["product"] = "search.offline.maindump"

            tags_map["sql_connetc"] = sql_map

            post_map["metric"] = "deploy.offline.et2main.maindump"

            post_map["tags"] = tags_map

            new_map = JSONEncoder().encode(post_map)

            url = 'http://10.97.212.17:9991'

            post_data = urllib.urlencode(post_map)

            req = urllib2.Request(url)

            opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

            response = opener.open(req, new_map)

            result = json.loads(response.read())

            for key in result://根据返回的结果进行解析

                if "version" in key.keys():

                    versions = key["version"]

                    version = versions.split("|")

                    return version[0][-9:]

        except Exception, e:

            print e

            return 1

    3.获取当前文件所在目录:

    WORK_HOME = os.path.realpath(sys.path[0])

    4.在python中获取执行命令的输出和执行结果:

    import commands

    (status, output) = commands.getstatusoutput(cmd)

    弊端:output只有在cmd命令执行完才能输出

    另一种方式:

    import os

    ret=os.system(cmd)

    这种方式可以立即输出cmd的执行输出,但这个输出会输出到终端,无法获取,ret为名利执行的返回值

    5.python中访问mysql:

        conn = MySQLdb.connect(host= port=3336, user=, passwd=)

        cursor = conn.cursor()

        cursor.execute(sql)

        conn.commit()

        conn.close()

        print 'Execute SQL[%r] Successed!'%sql

        return cursor.fetchall()  返回值为tuple,如果只有一条记录,会返回形如(("",""),)

    6.zookeeper操作:

    class :

        def __init__(self,host):

            self.host = host

            self.connected = False

            self.handle = -1 

            self.callback_flag = False

            self.cv = threading.Condition()

            self.connected = False

                

            def connection_watcher(handle, type, state, path):

                self.cv.acquire()

                self.connected = True

                self.cv.notify() 

                self.cv.release()

            self.cv.acquire()

            self.handle = zookeeper.init(self.host, connection_watcher)

            self.cv.wait(15.0)

            self.cv.release()

            if not self.connected:

                raise Exception("Couldn't connect to host -", self.host)

        def __del__(self):

            if self.connected:

                zookeeper.close(self.handle)

    def GetZKValue(zk_host, path)://获取zk路径对应的value

        zku =     if(zookeeper.exists(zku.handle,path) !=None):

            (data,stat) = zookeeper.get(zku.handle, path, None)

            return data

        else:

            return ""

    7.更新json格式的文件:

    def UpdateConf(conf, key, value):  //conf为json格式的文件名,key为要更新的key,value为更新后的值

        conf_file = file(conf)

        conf_value = json.load(conf_file)

        conf_value[key] = value

        new_file = open(conf,'w')

        new_file.write(json.dumps(conf_value,ensure_ascii=False, indent = 4, separators = (',',':')))

        new_file.close()

  • 相关阅读:
    《ML in Action》笔记(2) —— ID3决策树
    《ML in Action》笔记(1) —— kNN分类器
    MYSQL笔记
    Javascript代码摘录
    初试mysql存储过程&触发器
    百度地图API应用实践(一) —— 栅格图(草稿)
    2020年8月9日, 网吧, 歌单, 极客时间, 龙岩网络图书馆, 正则, WPS, Python
    2020年8月3日, 网吧 ,
    2020年7月13日,想在网吧搞学习,实属想多了
    账号被盗,什么原因呢?是我的操作系统太脆弱,还是博客园存在安全隐患?
  • 原文地址:https://www.cnblogs.com/aiwa/p/5947591.html
Copyright © 2020-2023  润新知