❤️《10个超级常用Python方法总结》复制即用丨小白捷径【文末赠书2本】❤️

举报
不吃西红柿 发表于 2022/07/22 00:04:44 2022/07/22
【摘要】 🍅 作者:不吃西红柿  🍅 简介:CSDN博客专家🏆、HDZ核心组成员💪、C站总榜前10名✌  欢迎点赞、收藏、评论 🍅 粉丝专属福利(文末送书2本):简历模板、PPT模板、学习资料、面试题库。直接去文末领取 目录 1、发送邮件 2、操作数据库:MySQLdb 3、网络爬虫:requests...

🍅 作者:不吃西红柿 

🍅 简介:CSDN博客专家🏆、HDZ核心组成员💪、C站总榜前10名✌  欢迎点赞、收藏、评论

🍅 粉丝专属福利(文末送书2本)简历模板、PPT模板、学习资料、面试题库。直接去文末领取

目录

1、发送邮件

2、操作数据库:MySQLdb

3、网络爬虫:requests

4、操作execl:pandas

5、操作系统接口

6、数据分析:numpy

7、数据画图分析:Matplotlib

8、字符串正则匹配

9、游戏开发:pygame

10、数据压缩

【粉丝福利,送书2本】


1、发送邮件

有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:


  
  1. import smtplib
  2. smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明

  • host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
  • port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
  • local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
 

参数说明

  • from_addr: 邮件发送者地址。
  • to_addrs: 字符串列表,邮件发送地址。
  • msg: 发送消息

案例:


  
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. import smtplib
  5. from email.mime.text import MIMEText
  6. from email.header import Header
  7.  
  8. sender = 'from@runoob.com'
  9. # 公众号:信息技术智库
  10. receivers = ['429240967@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
  11.  
  12. # 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
  13. message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
  14. message['From'] = Header("西红柿大神", 'utf-8')   # 发送者
  15. message['To'] =  Header("测试", 'utf-8')        # 接收者
  16.  
  17. subject = 'Python SMTP 邮件测试'
  18. message['Subject'] = Header(subject, 'utf-8')
  19.  
  20.  
  21. try:
  22.     smtpObj = smtplib.SMTP('localhost')
  23.     smtpObj.sendmail(sender, receivers, message.as_string())
  24.     print "邮件发送成功"
  25. except smtplib.SMTPException:
  26.     print "Error: 无法发送邮件"

2、操作数据库:MySQLdb

安装MySQLdb,请访问 http://sourceforge.net/projects/mysql-python 

操作mysql查数据


  
  1. import MySQLdb
  2.  
  3. # 连接数据库 
  4. conn = MySQLdb.connect(host='localhost',user='root',passwd='xxxx',db='test1')
  5.  
  6. # 获取cursor对象来进行操作
  7. cursor = conn.cursor()
  8. # 更多资料:https://t.1yb.co/zHJo
  9. sql = "select * from world where someone like 'you' "
  10. # 执行sql
  11. cursor.execute(sql)

3、网络爬虫:requests

Requests 允许你发送纯天然的 HTTP/1.1 请求,无需手工劳动。你不需要手动为 URL 添加查询字串,也不需要对 POST 数据进行表单编码。Keep-alive 和 HTTP 连接池的功能是 100% 自动化的。

一个简单的爬虫样例:


  
  1. #公众号:信息技术智库
  2. import requests
  3. heads = {}
  4. heads['User-Agent'] = 'Mozilla/5.0 ' \
  5. '(Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 ' \
  6. '(KHTML, like Gecko) Version/5.1 Safari/534.50'
  7. response = requests.get('http://www.baidu.com',headers=headers)

4、操作execl:pandas


  
  1. # -*- coding: utf-8 -*-
  2. import xlrdimport xlwt
  3. from datetime import date,datetime
  4. def read_excel():
  5. # 打开文件
  6. workbook = xlrd.open_workbook(r'F:\demo.xlsx')
  7. # 获取所有sheet
  8. print workbook.sheet_names() # [u'sheet1', u'sheet2']
  9. sheet2_name = workbook.sheet_names()[1]
  10. # 根据sheet索引或者名称获取sheet内容
  11. sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
  12. sheet2 = workbook.sheet_by_name('sheet2')
  13. # sheet的名称,行数,列数
  14. print sheet2.name,sheet2.nrows,sheet2.ncols
  15. # 获取整行和整列的值(数组)
  16. rows = sheet2.row_values(3) # 获取第四行内容
  17. cols = sheet2.col_values(2) # 获取第三列内容
  18. print rows
  19. print cols
  20. # 获取单元格内容
  21. print sheet2.cell(1,0).value.encode('utf-8')
  22. print sheet2.cell_value(1,0).encode('utf-8')
  23. print sheet2.row(1)[0].value.encode('utf-8')
  24. # 获取单元格内容的数据类型
  25. print sheet2.cell(1,0).ctype
  26. if __name__ == '__main__':
  27. read_excel()

5、操作系统接口

os模块提供了不少与操作系统相关联的函数。


  
  1. >>> import os
  2. >>> os.getcwd() # 返回当前的工作目录
  3. 'C:\\Python34'
  4. >>> os.chdir('/server/accesslogs') # 修改当前的工作目录
  5. >>> os.system('mkdir today') # 执行系统命令 mkdir
  6. 0

建议使用 "import os" 风格而非 "from os import *"。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。

os常用命令

序号 方法 功能
1 os.access(path, mode)   检验权限模式
2 os.chdir(path)    改变当前工作目录
3 os.chflags(path, flags)   设置路径的标记为数字标记。
4 os.chmod(path, mode)     更改权限
5 os.chown(path, uid, gid)   更改文件所有者
6 os.chroot(path)    改变当前进程的根目录
7 os.close(fd)     关闭文件描述符 fd
8 os.closerange(fd_low, fd_high)     关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略
9 os.dup(fd)     复制文件描述符 fd
10 os.dup2(fd, fd2)    

将一个文件描述符 fd 复制到另一个 fd2

6、数据分析:numpy

NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。

NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。

三角函数

NumPy 提供了标准的三角函数:sin()、cos()、tan()。


  
  1. import numpy as np
  2. a = np.array([0,30,45,60,90])
  3. print ('不同角度的正弦值:')
  4. # 通过乘 pi/180 转化为弧度
  5. print (np.sin(a*np.pi/180))
  6. print ('\n')
  7. print ('数组中角度的余弦值:')
  8. print (np.cos(a*np.pi/180))
  9. print ('\n')
  10. print ('数组中角度的正切值:')
  11. print (np.tan(a*np.pi/180))

7、数据画图分析:Matplotlib


  
  1. import numpy as np
  2. from matplotlib import pyplot as plt
  3. x = np.arange(1,11)
  4. y = 2 * x + 5
  5. plt.title("Matplotlib demo")
  6. plt.xlabel("x axis caption")
  7. plt.ylabel("y axis caption")
  8. plt.plot(x,y)
  9. plt.show()

以上实例中,np.arange() 函数创建 x 轴上的值。y 轴上的对应值存储在另一个数组对象 y 中。 这些值使用 matplotlib 软件包的 pyplot 子模块的 plot() 函数绘制。

图形由 show() 函数显示。

8、字符串正则匹配

re模块为高级字符串处理提供了正则表达式工具。可以说是爬虫必备,对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:如果只需要简单的功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试:


  
  1. >>> 'tea for too'.replace('too', 'two')
  2. 'tea for two'

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

函数语法

re.match(pattern, string, flags=0)
 

函数参数说明:

参数 描述
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

匹配成功re.match方法返回一个匹配的对象,否则返回None。

我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

匹配对象方法 描述
group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups() 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

9、游戏开发:pygame

  • Pygame是一组跨平台的Python模块, 用于创建视频游戏。
  • 它由旨在与Python编程语言一起使用的计算机图形和声音库组成。
  • Pygame由Pete Shinners正式编写, 以取代PySDL。
  • Pygame适合于创建客户端应用程序, 这些应用程序可以包装在独立的可执行文件中。

  
  1. import pygame
  2. pygame.init()
  3. screen = pygame.display.set_mode((400, 500))
  4. done = False
  5. while not done:
  6. for event in pygame.event.get():
  7. if event.type == pygame.QUIT:
  8. done = True
  9. pygame.display.flip()

10、数据压缩

以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile。


  
  1. >>> import zlib
  2. >>> s = b'witch which has which witches wrist watch'
  3. >>> len(s)
  4. 41
  5. >>> t = zlib.compress(s)
  6. >>> len(t)
  7. 37
  8. >>> zlib.decompress(t)
  9. b'witch which has which witches wrist watch'
  10. >>> zlib.crc32(s)
  11. 226805979

【粉丝福利:送书2本】

【书名】Python 3.x基础教程》

【如何获得】评论区留言点赞收藏,通过python random函数从评论区抽奖2人,我会私聊获奖人提供地址信息,并在下期文章公示快递记录

【内容简介】

《Python 3.x基础教程》以零基础讲解为宗旨,旨在帮助读者掌握 Python 语言的基础知识,以及如何使用Python 语言实现编程,了解其开发技巧,并通过实战案例熟悉开发过程及问题的解决方法。
  全书共分 13 章,大致分为 4 部分: 1~4 章介绍 Python 简介及环境搭建、 Python 基础和面向对象的编程知识;第 5~7 章介绍读写文件、自带电池模块及系统编程的知识;第 8~11章介绍网络编程、收发电子邮件、图形用户界面和 Web 开发;第 12、 13 章通过两个综合案例的讲解,将全书各个知识点融会贯通,加深读者对所学知识的理解。


  本书专为没有任何 Python基础的初学者和爱好者打造,无论你是否从事计算机相关专业,是否有过 Python 项目经验,或是否想要转行从事计算机相关专业,均可通过本书快速掌握Python 的基本知识和开发技巧。

在这里插入图片描述

🍅 行业资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 交流加群:大佬指点迷津,你的问题往往有人遇到过,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 学习资料:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、前端等。

👇👇👇更多粉丝福利👇👇👇

文章来源: notomato.blog.csdn.net,作者:不吃西红柿丶,版权归原作者所有,如需转载,请联系作者。

原文链接:notomato.blog.csdn.net/article/details/120337051

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。