模块笔记整理

模块

1.模块的定义:Python 模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句;

2.模块类型:内置模块,自定义模块,第三方模块;

3.模块的优点:最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始,当一个模块编写完毕,就可以被其他地方引用。

4.模块的安装

pip3 install 模块名

5.模块的导入

import

import …. as … 对于导入的模块重命名

from …. import …. 从模块里面导入函数, 变量, 装饰器等

from …. import ….. as …. 从模块里面导入函数, 变量, 装饰器等,并重命名

6.问题: 导入模块时, 模块里面执行代码结果也会显示

解决方法:

name, 所在文件没有当作模块导入是, 结果为main;
name, 所在文件被当作模块导入是, 结果为模块的名称;

判断模块是否被导入
if __name__ == "__main__":

7.导入模块中指定装饰器或函数时

__all__决定用来控制from xxx import *导入的内容

8.生成二维码


import qrcode
img = qrcode.make("http://www.baidu.com")
img.save("hello.png")
这里写图片描述

9.第三方模块itchat

例:统计好友男女比例
import itchat
import time
import random
itchat.auto_login(hotReload=True)
friends = itchat.get_friends()
info = {}  # 'male':1, 'female':, 'other':
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)

生成的二维码
生成的二维码
执行结果
这里写图片描述

10.微信聊天机器人

import random
import  itchat
import  requests
import time
def get_tuling_response(_info):
    print(_info)
    # 图灵机器人的网址
    api_url = "http://www.tuling123.com/openapi/api"
    data = {
        'key': '4ba910513a8442458884e16e6b4b2d4a',
        'info': _info,
        'userid':'wechat-robot'
    }
    # 发送数据到指定网址,获取网址返回的数据(字典数据类型)
    res = requests.post(api_url, data).json()
    # print(res, type(res))
    # 给用户返回的内容
    print(res['text'])
    return res['text']
# get_tuling_response("给我讲个故事")
# get_tuling_response("不好笑")
# get_tuling_response("不好玩")
# 时刻监控好友发送的文本消息, 并且给予一个回复,
# isGroupChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
# isMapChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
@itchat.msg_register(itchat.content.TEXT, isFriendChat=True)
def text_reply(msg):
    # 需求: 只对固定的群聊消息, 实现机器人聊天.
    # 获取好友发送消息的内容
    content = msg['Content']
    # 将好友的消息发送给机器人处理, 处理结果就是返回给好友的消息
    returnContent = get_tuling_response(content)
    time.sleep(random.randint(1,10))
    return  returnContent
if __name__ == "__main__":
    itchat.auto_login(hotReload=True)
    itchat.run()

11.给指定的好友发消息

import itchat
import time
itchat.auto_login(hotReload=True)
res = itchat.search_friends("傻蛋蛋")
shijiamiaoInfo = res[0]['UserName']
while True:
    itchat.send("hello", toUserName=shijiamiaoInfo)
    time.sleep(3)

12.os模块的使用讲解

import os
import itchat
print(os.path.sep)
res = os.system('hostnam1e')
print("res:", res)
res = os.popen('hostname').read()
print("res:", res)
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    if msg['ToUserName'] == 'filehelper':
        # 获取要执行命令的内容
        command = msg['Content']
        if os.system(command) == 0:
            res = os.popen(command).read()
            result =  "【返回值】- 命令执行成功, 执行结果:\n" + res
            itchat.send(result, 'filehelper'else:
            result =   "【返回值】- 命令%s执行失败, 请重试" %(command)
            itchat.send(result, 'filehelper')
if __name__ == "__main__":
    itchat.auto_login(hotReload=True)
    itchat.run()

通过手机,让电脑执行某些命令,如开关机等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值