或
ipython最直观的优点:
- 可以用?或者??来获取帮助。
- 可以用!调用系统命令。
- 可以使用Tab键自动补全。
- 可以使用魔法指令,如:%timeit。
安装pillow三方库。
PIL(Python Imaging Library)是Python平台事实上的图像处理标准库了。PIL功能非常强大,而API却非常简单易用。但是PIL仅支持到Python 2.7,而且很多年都没有人维护了,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫,除了支持Python 3.x还加入了很多有用且有趣的新特性。
pip install pillow
或
pip3 install pillow
加载图片。
from PIL import Image
chiling = Image.open('chiling.jpg')
chiling.show()
使用滤镜。
from PIL import ImageFilter
chiling.filter(ImageFilter.EMBOSS).show()
chiling.filter(ImageFilter.CONTOUR).show()
图像剪裁和粘贴。
rect = 220, 690, 265, 740
watch = chiling.crop(rect)
watch.show()
blured_watch = watch.filter(ImageFilter.GaussianBlur(4))
chiling.paste(blured_watch, (220, 690))
chiling.show()
生成镜像。
-
frame = Image.open('frame.jpg')
frame.show()
frame.paste(chiling2, (522, 150))
frame.show()
上面的知识在Python-100-Days项目的中也有对应的内容。
安装itchat三方库。
itchat是一个开源的微信个人号接口,使用Python调用微信从未如此简单。
pip install itchat
或
pip3 install itchat
登录微信。
import itchat
itchat.auto_login()
查找自己的朋友。
friends_list = itchat.get_friends(update=True)
print(len(friends_list))
luohao = friends_list[0]
props = ['NickName', 'Signature', 'Sex']
for prop in props:
print(luohao[prop])
随机选出5个朋友,获得他们的用户名、昵称、签名。
给朋友发送文字消息。
itchat.send_msg('急需一个红包来拯救堕落的灵魂!!!', toUserName='@8e06606db03f0e28d0ff884083f727e6')
-
lucky_friends = random.sample(friends_list[1:], 5)
for friend in lucky_friends:
itchat.send_video('/Users/Hao/Desktop/my_test_video.mp4', toUserName=username)
利用itchat还能做很多事情,比如有好友给自己发了消息又撤回了,如果想查看这些被撤回的消息,itchat就可以做到(注册一个接收消息的钩子函数,请参考);再比如,有时候我们想知道某个好友有没有把我们删除或者拉入黑名单,也可以利用itchat封装的群聊功能,非好友和黑名单用户不会被拉入群聊,通过创建群聊函数的返回值就可以判定你和指定的人之间的关系。
安装requests库。(点击常看官方文档)
pip install requests
或
pip3 install requests
爬取新闻数据或者通过API接口获取新闻数据。
import requests
resp = requests.get('http://api.tianapi.com/allnews/?key=请使用自己申请的Key&col=7&num=50')
使用反序列化将JSON字符串解析为字典并获取新闻列表。
import json
newslist = json.loads(resp.text)['newslist']
对新闻列表进行循环遍历,找到感兴趣的新闻,例如:华为。
调用短信网关发送短信到手机上,告知关注的新闻标题并给出链接。
import re
pattern = re.compile(r'https*:\/\/[^\/]*\/(?P<url>.*)')
matcher = pattern.match(url)
if matcher:
url = matcher.group('url')
resp = requests.post(
url='http://sms-api.luosimao.com/v1/send.json',
auth=('api', 'key-请使用你自己申请的Key'),
data={
'mobile': '13548041193',
'message': f'发现一条您可能感兴趣的新闻 - {title},详情点击https://news.china.com/{url} 查看。【Python小课】'
},
timeout=10,
)