DAY6 - os补充操作,发邮件,数据库操作,写excel,加密操作
Posted yonnia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAY6 - os补充操作,发邮件,数据库操作,写excel,加密操作相关的知识,希望对你有一定的参考价值。
1.Map-循环帮你调用函数
![技术分享图片](https://image.cha138.com/20210820/adbaa27181f649fcabdc84db7f1ccdf2.jpg)
**生成器的概念**
![技术分享图片](https://image.cha138.com/20210820/6c2384a9f36d4f09bc5d47b1b995e0bc.jpg)
输出为:
![技术分享图片](https://image.cha138.com/20210820/127012abb7e048b6ba449982aad6641d.jpg)
map返回的就是一个生成器
2.filter-把函数处理结果为false的结果过滤掉
![技术分享图片](https://image.cha138.com/20210820/8e1919dfbc9e4812b05d27b40bb7f424.jpg)
比较map和filter的输出:
![技术分享图片](https://image.cha138.com/20210820/2f88ab2fb3b648eca2dae4714ae3eb12.jpg)
3.os的目录操作
4.OS里执行系统命令
我们可能会用到的一个查看系统日志的命令:
os.popen(‘top -n 1‘).read()
5.datetime模块
![技术分享图片](https://image.cha138.com/20210820/d3a8d88990804b4eb3d608cd1dd6761b.jpg)
输出为:
![技术分享图片](https://image.cha138.com/20210820/58278fa64cec48dcaa222e7112453b3c.jpg)
输出为一个datetime的类型,如:
![技术分享图片](https://image.cha138.com/20210820/19ecbea6562947e4a7e8135b432ec926.jpg)
输出为:
![技术分享图片](https://image.cha138.com/20210820/86be8bff40c6485e80e84a717f19ab5c.jpg)
6.Random模块
输出为:
![技术分享图片](https://image.cha138.com/20210820/482c559f99a04a9eafb282e26694a961.jpg)
7.Log模块
![技术分享图片](https://image.cha138.com/20210820/d2e32f00b8824f4f9ddcc24c20a3d4c2.jpg)
8.发邮件
第一步:需要先安装发邮件的模块
pip instal yagmail
第二步:并且需要在邮件中设置,以QQ邮箱为例:
![技术分享图片](https://image.cha138.com/20210820/9540b22e50e041fdb824fcfd44047970.jpg)
第三步:先连接邮箱,再进行发邮件操作
![技术分享图片](https://image.cha138.com/20210820/dbc3ba65bfcc4a578798ee03d4b0754c.jpg)
如需要同时发送或者抄送多人:
![技术分享图片](https://image.cha138.com/20210820/5ce2ef26ca1144b59ba6f9d64720039a.jpg)
9.数据库操作
数据库分为两种:
-
传统的关系型数据库:mysql, oracle, sql_server, sqllie, db2
会有明确的字段名:id name passwd createtime stu等
数据是存在磁盘上的
使用sql语句来操作数据
表和表之间是有关系的
-
非关系型数据库:mongodb, redis
nosql
所有的数据都是key:value形式的
mongodb的数据是存在磁盘上的
redis的数据都是存在内存里的
连接mysql数据库
数据为:
![技术分享图片](https://image.cha138.com/20210820/297f699b0ed94dc39b9ff61f29bf6a3c.jpg)
其他的操作还有:
![技术分享图片](https://image.cha138.com/20210820/191ebd925ee4435f93ef865cf618afc2.jpg)
输出为:
![技术分享图片](https://image.cha138.com/20210820/d3dd655dd2ab48f7be2b66d7fdc1074b.jpg)
但是,如果先运行了fetchall,再运行fetchone或者fetchmany,会获取不到,会返回none,这是类似于文件操作,指针已经移动到最尾部。
也可以执行insert语句:
![技术分享图片](https://image.cha138.com/20210820/57c00e98c00e40c3b2931cecc3f73551.jpg)
但是这里需要注意的是,再执行完类似insert update这类sql语句之后,需要进行commit,如果不想进行手动commit
可以再进行数据库连接的时候设置autocommit=True:
![技术分享图片](https://image.cha138.com/20210820/a6f8ad4818a449abb33870a15115bcbe.jpg)
连接redis数据库
先熟悉一下redis可视化工具redis desktop manager的使用,select 10代表切换到db10:
![技术分享图片](https://image.cha138.com/20210820/41578ff39d3e43b1a5d4841f9cc719fc.jpg)
在python中连接redis:
![技术分享图片](https://image.cha138.com/20210820/aec5f47b5a584856af101fa88a49d317.jpg)
也可以设置数据失效时间,再redis desktop manager中可看到:
![技术分享图片](https://image.cha138.com/20210820/1db768e7634b4d8c837930be7e4a3a64.jpg)
如果ttl=-1则表示永久有效
相关操作:
![技术分享图片](https://image.cha138.com/20210820/eb8e268af752492e9a1eed4ab63fa711.jpg)
在redis里可能还存在字典嵌套字典的数据,这种数据叫Bash类型,处理Bash类型的数据是另外一种方法:
![技术分享图片](https://image.cha138.com/20210820/3960c060320448bb86a809f8c2a624fe.jpg)
但是get得到的数据并不是字符串类型的而是bash类型的,所以可以写一个函数进行转换:
![技术分享图片](https://image.cha138.com/20210820/4c92bfa6a62d4c099b41dc3485b32b68.jpg)
10.PYTHON的加密操作
![技术分享图片](https://image.cha138.com/20210820/c44cda892a32492da2ce0b5e6b1c1e5d.jpg)
11.写EXCEL
![技术分享图片](https://image.cha138.com/20210820/6f1ccea943d94d3c99d9c649a086d5a7.jpg)
以上是关于DAY6 - os补充操作,发邮件,数据库操作,写excel,加密操作的主要内容,如果未能解决你的问题,请参考以下文章