python 基本功能_python常用功能总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值