Python 周记/Week 0 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
liuliliuli2017

Python 周记/Week 0

  •  
  •   liuliliuli2017 2017 年 3 月 17 日 3798 次点击
    这是一个创建于 3326 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好
    作为一个很懒的肥宅,有多懒呢?

    每次找到好图都想右键!
    嗯,听说爬虫很厉害
    好的!
    我要做个爬虫扒图!
    ...
    5 个月后,也就是今天,我还只会安装 python...
    感觉不行动的话又会过去 5 个月 /微笑
    所以!
    从今天开始做一个长期挑战 : Python 学习周记
    即是将学习笔记整理发布!并尽可能不断更,先定一个小目标,独立写出自动筛选扒图存盘的虫虫

    按照惯例都是从安装配置环境开始一步步讲,可是我已经无数次从头学习 Hello world...这次想换一下


    路线

    后续增加...

    方法

    根据实际问题展开学习,解构知识路径

    声明

    • 想到哪写到哪
    • 使用 Python3.6
    • 我比较菜鸡(都不会),日记各种不完美
    • 没有啦

    那么,开始吧!
    第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

    方法是调用一个图形处理库 PIL (不支持 Python3 ,所以改用 Pillow )进行处理

    • 我用的版本是 3.6 , Win 上命令安装无效,所以找到Pillow 下载页选择合适版本下载安装即可

    pypi

    • 执行

    思路

    from PIL import Image, ImageDraw, ImageFont, ImageColor def add_num(img): draw = ImageDraw.Draw(img) myfOnt= ImageFont.truetype('C:/windows/fonts/calibri.ttf',size=40) fillcolor = ImageColor.colormap.get('red') width,height = img.size draw.text((width-30,0),'2',fOnt=myfont,fill=fillcolor) img.save('result.jpg','jpeg') return 0 if __name__ == '__main__': image = Image.open('test.jpg') add_num(image) 

    result

    • 遇到的问题

    不能调用字体文件名带中文的字体

    • 另外

    关于return 0 return 语句用来从函数中 return(返回),也就是说跳出函数
    延展阅读: Python return 语句

    关于if __name__ == '__main__': 让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行
    延展阅读:浅析 python 中__name__ = 'main' 的作用

    关于 Pillow
    详细Pillow 官方文档


    ok !本周完结!本来的基础只能写 if 、 while 的小循环。看调用 from import 貌似也能明白点,但是强行看代码遇到的麻烦也不是一点半点,整体花费时间也不少,好在还是动手了。 周末研究下怎么做出来真实的通知小气泡,比如这样

    QQ

    拜拜~

    15 条回复    2017-03-24 00:10:26 +08:00
    mingyun
        1
    mingyun &nbp;
       2017 年 3 月 17 日
    感谢分享, win 下安装库真蛋疼
    NoAnyLove
        2
    NoAnyLove  
       2017 年 3 月 18 日
    用 pip 啊,很多编译麻烦的库都提前编译好了,完全没压力好么。。。。。。
    liuliliuli2017
        3
    liuliliuli2017  
    OP
       2017 年 3 月 18 日 via iPhone
    @NoAnyLove 3.6 不知道为什么用不了 pip ,所以我才改用 exe
    123s
        4
    123s  
       2017 年 3 月 18 日 via Android
    怎么是从这个开始?
    liuliliuli2017
        5
    liuliliuli2017  
    OP
       2017 年 3 月 18 日
    @123s 应该从爬虫开始么哈哈
    123s
        6
    123s  
       2017 年 3 月 18 日 via Android
    @liuliliuli2017 是啊,我也开始要写了,看了一两天语法了
    liuliliuli2017
        7
    liuliliuli2017  
    OP
       2017 年 3 月 18 日
    @123s 那你加油,我想绕一圈再去写,我现在的水平稍微复杂的代码都得搜一下才明白
    NoAnyLove
        8
    NoAnyLove  
       2017 年 3 月 19 日
    @liuliliuli2017 是不是提示找不到 pip 可执行程序?试试`python3 -m pip install 包名`呢
    liuliliuli2017
        9
    liuliliuli2017  
    OP
       2017 年 3 月 19 日 via iPhone
    @NoAnyLove 好的,明早醒来试试
    liuliliuli2017
        10
    liuliliuli2017  
    OP
       2017 年 3 月 19 日 via iPhone
    @mingyun 嘻嘻()
    liuliliuli2017
        11
    liuliliuli2017  
    OP
       2017 年 3 月 20 日
    @NoAnyLove 试过了,还是不行
    NoAnyLove
        12
    NoAnyLove  
       2017 年 3 月 20 日
    @liuliliuli2017 报的什么错?
    liuliliuli2017
        13
    liuliliuli2017  
    OP
       2017 年 3 月 21 日
    @NoAnyLove
    ```
    Traceback (most recent call last):
    File "C:\Program Files\Python36\lib\site-packages\PIL\ImageFont.py", line 238, in truetype
    return FreeTypeFont(font, size, index, encoding)
    File "C:\Program Files\Python36\lib\site-packages\PIL\ImageFont.py", line 127, in __init__
    self.fOnt= core.getfont(font, size, index, encoding)
    OSError: cannot open resource

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "C:\Users\电扇君\Desktop\Python 周记\Week0\img.py", line 12, in <module>
    add_num(image)
    File "C:\Users\电扇君\Desktop\Python 周记\Week0\img.py", line 4, in add_num
    myfOnt= ImageFont.truetype('C:/windows/fonts/明兰 light',size=40)
    File "C:\Program Files\Python36\lib\site-packages\PIL\ImageFont.py", line 273, in truetype
    return FreeTypeFont(fontpath, size, index, encoding)
    File "C:\Program Files\Python36\lib\site-packages\PIL\ImageFont.py", line 127, in __init__
    self.fOnt= core.getfont(font, size, index, encoding)
    OSError: cannot open resource
    ```
    LuckSouth
        14
    LuckSouth  
       2017 年 3 月 23 日
    加油吧,慢慢来~
    liuliliuli2017
        15
    liuliliuli2017  
    OP
       2017 年 3 月 24 日
    @LuckSouth 嘻嘻
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2757 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 77ms UTC 09:47 PVG 17:47 LAX 02:47 JFK 05:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86