Python保留N位小数点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| a = 1 b = 3 n = 2
round(float(a) / b, n)
format(float(a) / b, '.2f')
'%.2f' %(float(a) / b)
'%.2f%%' %(100.0 * a / b)
|
多线程
threading
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import threading
def func1(name): print name
def func2(name): print "hello, %s" % name
threads = [] t1 = threading.Thread(target=func1, args=('ma')) t2 = threading.Thread(target=func2, args=('world')) threads.append(t1) threads.append(t2)
for t in threads: t.setDaemon(True) t.start()
|
判断变量类型
isinstance(x, type)
- 判断int: isinstance(x,int)
- 判断string: isinstance(s, basestring) or isinstance(s, (str, unicode))
urllib2网络请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import urllib,urllib2
uri = 'https://www.baidu.com/'
ret = urllib2.urlopen(uri).read()
url = 'http://www.someserver.com/cgi-bin/register.cgi' values = {'name' : 'Michael Foord', 'location' : 'Northampton', 'language' : 'Python' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read()
|
为urlopen设置可选参数: timeout
1
| urllib2.urlopen(r, data=None, timeout=3)
|
模块路径设置
- 代码中动态添加:
sys.path.append('/home/xxx/xxx')
- 设置环境变量
PYTHONPATH
JSON处理
1 2 3
| json.dumps()
json.loads()
|
详情参考
时间处理
常用的时间戳: int(time.time())
更多用法可参考
python函数是引用还是传值
python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值’来传递对象。
python函数传参是传值还是传引用?
连接mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| config = { 'host': '127.0.0.1', 'port': 3306, 'user': 'root', 'passwd': 'root', 'db': 'test', 'charset': 'utf8' } conn = mdb.connect(**config)
conn.autocommit(1)
cursor = conn.cursor() cursor.execute(sql)
cursor.close()
conn.close()
|
Python连接MySQL数据库
python遍历dict
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| dict.items()
dict.keys()
dict.values()
for i in dict: key = i value = dict[key]
for (k, v) int dict.items(): key = k value = v
|
连接MongoDB
先安装pymongo
模块, pymongo官方文档
1 2 3 4 5 6 7
| from pymongo import MongoClient
client = MongoClient("10.85.139.145", 8088) db = client.test collection = db.user
res = collection.find_one({"name":"python"})
|
AttributeError: ‘module’ object has no attribute’xxx’
本来import自己写的一个脚本模块,正常运行;但是在模块中加了一个函数后,再运行就报错如标题。
排查发现是.pyc
文件导致,删除后正常。
.pyc文件是由.py文件经过编译后生成的字节码文件,其加载速度相对于之前的.py文件有所提高,而且还可以实现源码隐藏,以及一定程度上的反编译。可能pyc有时更新不即时,导致错误。
When are .pyc files refreshed?
参考