34篇 python related articles

使用python的pdb命令调试

python的pdb可以进行断点调试,这个在没有IDE工具时会很方便。
启用pdb调试:python3 -m pdb myscript.py

加入断点b myscript.py:130,即在mysript.py的130行加入断点。
常用的pdb命令:
n即运行到下一行
c继续运行到下一个断点
cl myscript.py:130 清除这行断点
p var打印var变量值

更多可以参考 https://docs.python.org/zh-cn/3/library/pdb.html#pdbcommand-list

More ~

flask-babel 的中文翻译存放目录

有的文章里会讲中文翻译存放目录为 zh,实际上中文也分为简体和繁体,简体又分为大陆、香港、澳门,新加波。
具体可以通过 pybabel --list-locales 查到。如

b'zh              Chinese'
b'zh_Hans         Chinese (Simplified)'
b'zh_Hans_CN      Chinese (Simplified, China)'
b'zh_Hans_HK      Chinese (Simplified, Hong Kong SAR China)'
b'zh_Hans_MO      Chinese (Simplified, Macao SAR China)'
b'zh_Hans_SG      Chinese (Simplified, Singapore)'
b'zh_Hant         Chinese (Traditional)'
b'zh_Hant_HK      Chinese (Traditional, Hong Kong SAR China)'
b'zh_Hant_MO      Chinese (Traditional, Macao SAR China)'
b'zh_Hant_TW      Chinese (Traditional, Taiwan)'

所以在生成翻译 目录时,尽量使用具体的目录。如需要简体中文可以是

pybabel init -i messages.pot -d translations -l zh_Hans_CN
More ~

python利用多进制转换生成唯一ID

为了简化URL路径或是生成唯一的文章ID,在不考虑分布式情况下,想到这个思路:将时间以毫秒 转换成多进制,缩短位数。
其中可以加入随机数来减少或避免重复。多进制可以用到0-9,a-z, A-Z 这些数字,小写字母,大写字母,共计62个字符。

More ~

使用flask-babel实现flask应用国际化

安装 Flask-Babel

Flask-Babel 是 Flask 的翻译扩展工具。安装命令如下:

pip install flask-babel

安装它的时候会顺便安装 Babelpytzspeaklater 这三个包,其中 Babel 是 Python 的一个国际化工具包。pytz 是处理时区的工具包,speaklater 相当于是 Babel 的一个辅助工具。

More ~

Get alphabet range in python

如题,如果获取字母列表,有没有类似用 range('a', 'z') 这种方法呢?

alpha = ['a', 'b', 'c', 'd'.........'z']

实际上,range不能,但string可以直接取出。

More ~

Draw transparent text on an image with python Pillow

Using tuple to set transparent color:

Examples:

from PIL import Image, ImageDraw, ImageFont

image = Image.open("spongebob.gif").convert("RGBA")
txt = Image.new('RGBA', image.size, (255,255,255,0))

font = ImageFont.truetype("impact.ttf", 25)
d = ImageDraw.Draw(txt)    

d.text((0, 0), "This text should be 5% alpha", fill=(0, 0, 0, 15), font=font)
combined = Image.alpha_composite(image, txt)    

combined.save("foo.gif")

Reference: https://pillow.readthedocs.io/en/4.2.x/reference/ImageDraw.html#example-draw-partial-opacity-text

More ~