Python 如何处理 ImmutableMultiDict 中的数据


Flask 与前端数据交互的时候,经常会使用 ImmutableMultiDict、MultiDict 类型。

combined = CombinedMultiDict([self])
getData = combined['endDate']

self 是一组 ImmutableMultiDict 类型,endDate 是一个 key。
下面是官方的样例:

>>> from werkzeug.datastructures import CombinedMultiDict, MultiDict
>>> post = MultiDict([('foo', 'bar')])
>>> get = MultiDict([('blub', 'blah')])
>>> combined = CombinedMultiDict([get, post])
>>> combined['foo']
'bar'
>>> combined['blub']
'blah'
阅读全文

Flask 时快时慢的问题


app.run(host="0.0.0.0", port=8080)

当 app.run 设置成这样的时候,有时候页面加载会时快时慢。
原来默认 Flask 是单线程的,需要更改参数。

app.run(host="0.0.0.0", port=8080, threaded=True)

官方文档原文:

werkzeug.serving.run_simple(hostname, port, application, use_reloader=False, use_debugger=False, use_evalex=True, extra_files=None, reloader_interval=1, reloader_type='auto', threaded=False, processes=1, request_handler=None, static_files=None, passthrough_errors=False, ssl_context=None)

threaded – should the process handle each request in a separate thread?
processes – if greater than 1 then handle each request in a new process up to this maximum number of concurrent processes.
阅读全文

Python ascii 转成 utf8


a = '\xe4\xb8\xad'
print a
print type(a)
print a.decode()

这样会报错

➜  Test python unicode.py
中
<type 'str'>
Traceback (most recent call last):
  File "unicode.py", line 7, in <module>
    print a.decode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)

decode 的时候 需要注明编码

a = '\xe4\xb8\xad'
print a
print type(a)
aa = a.decode('utf-8')
print aa

结果

➜  Test python unicode.py
中
<type 'str'>
中
阅读全文

Python 升级导致 yum 命令无法使用的解决办法


报错信息如下

[root@develop local]# yum -y install prce  
There was a problem importing one of the Python modules  
required to run yum. The error leading to this problem was:  
  
  
   No module named yum  
  
  
Please install a package which provides this module, or  
verify that the module is installed correctly.  
  
  
It's possible that the above module doesn't match the  
current version of Python, which is:  
2.6.1 (r261:67515, Aug 7 2010, 11:36:17)  
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)]  
  
  
If you cannot solve this problem yourself, please go to  
the yum faq at:  
http://wiki.linux.duke.edu/YumFaq

阅读全文

安装 Pyhon


下载 Python

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz

解压 Python

tar xvf Python-2.7.12.tar.xz

编译

./configure --prefix=/data/server/python2712
make
make install

加入环境变量

vim /etc/profile
增加:
data/server/python2712/bin

验证

python -V
阅读全文

Learn Python The Hard Way学习笔记


lesson3

python 中 % 表示求余
python 中 / 直接写整数的时候会将小数丢弃 不会四舍五入
中文必须在开头键入 # -*- coding: utf-8 -*- 。
一般单引号会被用来创建简短的字符串。'a' 'snow'
'''换行'''

lesson5

%r 用 rper() 方法处理对象
%s 用 str() 方法处理对象
%d 打印整数
%f 打印浮点数 %.2f 表示小数点后两位 可以指定小数点后的精度 默认显示6位小数
%i 格式化整数
%o 格式化无符号八进制数
%X 格式化无符号十六进制数(小写字母)
%X 格式化无符号十六进制数(大写字母)
%e 用科学计数法格式化浮点数
%E 作用和 %e 一样
%F 和 %f 一样
%g 根据值的大小决定使用 %f 还是 %e
%G 和 %g 一样
%c 格式化字符及 ASCII 码;
round() 方法返回浮点数 x 的四舍五入值

阅读全文