python常用功能总结
经常写python,但很多小的点都记不住,每用必查,总结下来,下次查自己的吧。
1.时间获取:
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()
python常用功能总结的更多相关文章
- Python常用功能函数
Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,*name): format = '^' ...
- Python常用功能函数总结系列
Python常用功能函数系列总结(一) 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 Python常用功能函数系列总结(二) 常用函数 ...
- Python常用功能函数系列总结(一)
本节目录 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 写在前面 写代码也有很长时间了,总觉得应该做点什么有价值的事情,写代码初始阶段 ...
- python——常用功能之文本处理
前言 在生活.工作中,python一直都是一个好帮手.在python的众多功能中,我觉得文本处理是最常用的.下面是平常使用中的一些总结.环境是python 3.3 0. 基础 在python中,使用s ...
- Python常用功能函数系列总结(二)
本节目录 常用函数一:sel文件转换 常用函数二:refwork文件转换 常用函数三:xml文档解析 常用函数四:文本分词 常用函数一:sel文件转换 sel是种特殊的文件格式,具体应用场景的话可以 ...
- Python常用功能函数系列总结(三)
本节目录 常用函数一:词频统计 常用函数二:word2vec 常用函数三:doc2vec 常用函数四:LDA主题分析 常用函数一:词频统计 # -*- coding: utf-8 -*- " ...
- Python常用功能函数系列总结(七)
本节目录 常用函数一:批量文件重命名 常用函数一:批量文件重命名 # -*- coding: utf-8 -*- """ DateTime : 2021/02/08 10 ...
- Python常用功能函数系列总结(六)
本节目录 常用函数一:词云图 常用函数二:关键词清洗 常用函数三:中英文姓名转换 常用函数四:去除文本中的HTML标签和文本清洗 常用函数一:词云图 wordcloud # -*- coding: ...
- Python常用功能函数系列总结(五)
本节目录 常用函数一:向量距离和相似度计算 常用函数二:pagerank 常用函数三:TF-IDF 常用函数四:关键词提取 常用函数一:向量距离和相似度计算 KL距离.JS距离.余弦距离 # -*- ...
随机推荐
- ios第三方开源库
1.AFNetworking 目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理. 2.FMDB 对sqlite数据库操作进行了封装,demo也比较简单. ...
- Android开发 |常见的内存泄漏问题及解决办法
在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要 ...
- MySQL压测中遇到的一些问题
批量insert http://blog.csdn.net/xiaoxian8023/article/details/20155429 Mysql jdbc 批处理数据,需要给jdbc连接加上rewr ...
- HDU 4267 A Simple Problem with Integers
A Simple Problem with Integers Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 浅淡C/C++中的typedef和#define
在C/C++中,我们平时写程序可能经常会用到typedef关键字和#define宏 定义命令,在某些情况下使用它们会达到相同的效果,但是它们是有实质性的区别,一个是C/C++的关键字,一个是C/C++ ...
- codeforces 700C Break Up 暴力枚举边+边双缩点(有重边)
题意:n个点,m条无向边,每个边有权值,给你 s 和 t,问你至多删除两条边,让s,t不连通,问方案的权值和最小为多少,并且输出删的边 分析:n<=1000,m是30000 s,t有4种情况( ...
- (三)相遇射线的3D碰撞盒
序 在2D游戏中,我们知道处理碰撞时,需要设置精灵遮罩图.同样,进入3D,处理碰撞时需要3D模型作为“遮罩图”. 索尼克 飞檐走壁 目的 (1)处理模型间的碰撞问题 (2)获取鼠标 ...
- [GRYZ2015]INCR
题目描述 数列 A1,A2,...,AN,修改最少的数字,使得数列严格单调递增. 输入格式 第 1 行,1 个整数 N 第 2 行,N 个整数 A1,A2,...,AN 输出格式 1 个整数,表示最少 ...
- 基于GPL329xx linux平台电容屏gsl1680的驱动调试分析
因客户有用到了gsl1680 7寸电容屏,所以拿了一块过来,便在329xx的平台上面开始调试了. 大概浏览了一下所提供的资料,只有介绍模组的资料跟一份中文版的datasheet,datasheet只是 ...
- bzoj 2229 [Zjoi2011]最小割(分治+最小割)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2229 [题意] 回答若干个关于割不超过x的点对数目的询问. [思路] [最小割最多有n ...