Python 模块(Module)
是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句
- 模块让你能够有逻辑地组织你的 Python 代码段。
- 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
- 模块能定义函数,类和变量,模块里也能包含可执行的代码
模块导入
import导入模块执行的操作
- 产生一个新的名称空间
- 在新建的名称空间里面,执行模块(.py)内容
- 拿到了一个模块名指向模块文件产生的名称空间
方法
- import
- import .... as.... #对于导入模块重命名
- from .... import .... #从模块里面导入某一功能(函数、变量、装饰器......)
模块分类
- 内置模块
- 自定义模块
- 第三方模块
如何快速安装第三方模块
- pip3 insatll 模块名称
- 通过pycharm安装
玩转机器人
统计微信男女比例
import itchat #导入itchat模块
itchat.auto_login() #自动登陆
itchat.send('hello',toUserName='filehelper') #给微信助手发送'hello'
#itchat.send_file('/etc/passwd',toUserName='filehelper')
friends = itchat.get_friends() #统计好友信息,类似字典
info ={}
for friend in friends[1:]:
if friend['Sex']== 1: #男性
info['male'] = info.get('male',0)+1
elif friend['Sex']== 2: #女性
info['female'] = info.get('female',0)+1
else:
info['other'] = info.get('other',0)+1
print(info)
生成二维码
import qrcode
img=qrcode.make('此后,是平庸是惊世是绚丽是落魄,祝福你')
img.save('happy.png')
聊天机器人
首先,我们需要在图灵机器人官网上注册一个机器人,可以选择不同用途的机器人
获取到apikey
import random
import requests
import itchat
import time
def get_tuling_response(_info): #图灵机器人聊天函数
print(_info)
# 图灵机器人的网址
api_url = "http://www.tuling123.com/openapi/api"
data = {
'key': '49f783cdeef84fc2bec444339f7bXXXX', #这里使用申请好的机器人api,笔者把自己的api后四位隐藏了
'info': _info,
'userid':'wechat-robot'
}
# 发送数据到执行网址
res = requests.post(api_url, data).json()
# print(res, type(res))
# 给用户返回数据
print(res['text'])
return res['text']
@itchat.msg_register(itchat.content.TEXT,isGroupChat=True)
def text_reply(msg):
#获取好友发送的消息
content = msg['Content']
#将好友消息发送给机器人,处理结果返回给好友
returnContent = get_tuling_response(content)
#time.sleep(random.randint(2))
return returnContent
if __name__ =='__main__':
itchat.auto_login(hotReload=True)
itchat.run()
微信实现命令控制
#os模块
import os
import time
import itchat
import random
import requests #网络请求处理库
#兼容性
#系统目录间的分隔符
#linux : /var/log/messages
#win:C:\\Progjct\hello.py
print(os.path.sep) #显示路径分隔符
#在linux里面,执行shell命令
# 1.第一种方式,可以判断命令是否执行成功
#返回值为0,执行成功
#否则,执行失败
res =os.system('hostname')
print('res:',res)
# 第二种方法:用来保存命令的执行结果
res = os.popen('hostname')
print('res:',res.read())
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
#获取文件助手发来的消息,执行发送内容
# 1.执行成功,显示执行成功:执行结果
# 2.反之,显示执行失败
print(msg)
if msg['ToUserName']=='filehelper': #如果是文件传输助手法来消息,执行代码
command = msg['Content']
if os.system(command) ==0:
res =os.popen(command).read() #os.popen() 方法用于从一个命令打开一个管道,command -- 使用的命令。
result = "命令执行成功,执行结果:" +res
itchat.send(result,'filehelper')
else:
result = "命令执行失败"
itchat.send(result,'filehelper')
#shutdown -h 1 #一秒后执行关机命令
return 'hello'
if __name__ =='__main__':
itchat.auto_login(hotReload=True)
itchat.run()
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。