Python 周记/Week 0

2017-03-17 20:20:10 +08:00
 liuliliuli2017

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

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

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


路线

后续增加...

方法

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

声明


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

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

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)

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

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

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

关于 Pillow
详细Pillow 官方文档


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

拜拜~

3103 次点击
所在节点    Python
15 条回复
mingyun
2017-03-17 23:44:03 +08:00
感谢分享, win 下安装库真蛋疼
NoAnyLove
2017-03-18 04:42:08 +08:00
用 pip 啊,很多编译麻烦的库都提前编译好了,完全没压力好么。。。。。。
liuliliuli2017
2017-03-18 12:31:41 +08:00
@NoAnyLove 3.6 不知道为什么用不了 pip ,所以我才改用 exe
123s
2017-03-18 14:55:34 +08:00
怎么是从这个开始?
liuliliuli2017
2017-03-18 15:44:52 +08:00
@123s 应该从爬虫开始么哈哈
123s
2017-03-18 16:53:47 +08:00
@liuliliuli2017 是啊,我也开始要写了,看了一两天语法了
liuliliuli2017
2017-03-18 17:00:51 +08:00
@123s 那你加油,我想绕一圈再去写,我现在的水平稍微复杂的代码都得搜一下才明白
NoAnyLove
2017-03-19 00:54:02 +08:00
@liuliliuli2017 是不是提示找不到 pip 可执行程序?试试`python3 -m pip install 包名`呢
liuliliuli2017
2017-03-19 03:00:00 +08:00
@NoAnyLove 好的,明早醒来试试
liuliliuli2017
2017-03-19 11:25:29 +08:00
@mingyun 嘻嘻(◍•ᴗ•◍)
liuliliuli2017
2017-03-20 13:28:01 +08:00
@NoAnyLove 试过了,还是不行
NoAnyLove
2017-03-20 22:54:13 +08:00
@liuliliuli2017 报的什么错?
liuliliuli2017
2017-03-21 01:01:34 +08:00
@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
2017-03-23 20:26:52 +08:00
加油吧,慢慢来~
liuliliuli2017
2017-03-24 00:10:26 +08:00
@LuckSouth 嘻嘻

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX