列表推导式

[表达式 for 变量 in range(n) if 条件]  等效于

for 变量 in in range(n):

if 条件:

表达式

优点:书写方便,缺点:不易读

注意:用的是方括号,如果是小括号则不是列表推导式,而是生成器(不做要求)

Lambda匿名函数

lambda 变量:表达式  表达式是函数的处理逻辑,冒号前面的返回值

例如实现5的阶乘 1*2*3*4*5=120

优点:书写方便,缺点:不易读,只能写简单功能,只能使用一次

os模块

os是操作系统模块

1.getcwd()获取当前目录:

2. chomd() 修改文件权限:仅适用于linux,不适用于windows 1执行、2写、4读

3.chdir()更改当前路径:

4. mkdir()新建文件夹:可以用绝对路径,也可以用相对路径

5. rmdir()删除文件夹:只能删除空文件夹

6. makedirs()递归创建文件夹:如果没有test1,也会新建test1

7. removedirs()递归删除文件夹:会把test1和test3都删除

8. listdir()获取文件夹下的文件:返回的是一个列表 (不显示子文件夹中的文件)

9. rename()重命名:

10.stat()获取文件属性:

11. remove()删除文件:

12.sep获取路径分隔符:

13.linesep获取行分隔符:

14. pathsep获取环境变量分隔符:

15.environ获取环境变量:

16.name获取系统名称:windows是nt,linux是posix

17.system() 执行操作系统命令:会有乱码,而且不能是动态命令:如果是top,要改为top -n 1

18. popen() 执行操作系统命令:不会有乱码

19.path.abspath() 获取文件绝对路径:

20.path.split() 分隔文件夹和文件:

21.path.join() 合并路径:

22.path.dirname() 获取父文件夹:

23.path.basename() 获取末级文件夹:

24.path.exists() 判断路径是否存在:

25.path.isabs() 判断是否是绝对路径:

26.path.isfile() 判断是否是文件:

27.path.isdir() 判断是否是文件夹:

28.path.isdir() 判断文件(夹)大小:字节

29.path.walk() 获取文件夹中所有文件和文件夹:

只显示路径

只显示文件夹

只显示文件

sys模块

1.platform 获取平台名称: windows是win32 ,linux是linux2

2.path 获取python的环境变量:

3.argv 获取解释器的参数: 注意,第一个参数是文件名

time模块

时间格式有时间戳、字符串、元组。时间戳和字符串不能直接转换,需要通过元组:时间戳<=>元组<=>字符串

1.time() 获取当前时间戳: 时间戳是浮点数

2.strftime() 获取当前时间字符串:  也可以将元组转字符串

3.gmtime() 获取标准时间元组:

4.localtime() 获取本地时间元组:东八区=标准时区+8小时  也可以将时间戳转元组

5.mktime() 元组转时间戳:

6.strptime() 字符串转元组:

datetime模块

datetime模块和time模块相比,优势在于方便算时间差

1.datetime.today() 获取当前时间: 格式为datetime.datetime

2.date.today() 获取当前日期: 格式为datetime.date

3.datetime.timedelta() 获取时间差:

4.strftime() 将datetime转换为字符串:

5. datetime.fromtimestamp() 将时间戳转换为datetime:

pymysql模块

用来连接mysql数据库

1、 连接库: pymysql.connect()

2、 建立游标: 连接.cursor()

3、 执行sql:  游标.execute() 注意select 不需要commit ,其他sql都需要commit

4、 获取结果: 游标.fetchall()

5、 关闭游标: 游标.close()

6、 关闭连接: 连接.close()

xlwt模块

用来写入excel,只能是xls格式,xlsx不能用这个模块

1、 打开工作簿: Workbook()

2、 新建工作表: 工作簿.add_sheet()

3、 写表头和内容: 工作表.wirte() (行号,列号,内容),注意行列都是从0开始计数

4、 保存: 工作簿.save()

hashlib模块

用于加密

1.md5():md5摘要算法 (sha256等摘要算法,用法一样)

2.update():输入byte字符串 注意如果是str要先转换成byte

str转byte:  ’’.encode()=b’’

byte转str:  b’’.decode()=’’

3.hexdigest():获取摘要,格式仍为str

Python基础-列表推导式、匿名函数、os/sys/time/datetime/pymysql/xlwt/hashlib模块的更多相关文章

  1. python基础——列表推导式

    python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...

  2. Python基础-列表推导式

    python中列表推导式有三种数据类型可用:列表,字典,集合 列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 1,列表推导式 ...

  3. python 3列表推导式的的一点理解!

    python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...

  4. Python之路-条件控制&循环语句&列表推导式&常用函数

    一.什么是条件控制语句 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块. 二.if语句 if语句是用来进行判断的,最简答的if语句只有一个判断一个操作. 语法: ...

  5. Python基础---三大推导式

    推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据结构构建另一个新的数据结构的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...

  6. Python的列表推导式

    1.列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 2.举例说明: #!/usr/bin/python # -*- codi ...

  7. Python之列表推导式

    我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表. 比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方 怎么办? 当然 ...

  8. python - list 列表推导式

    一.如有两个list,分别为: a = [1,2,3,4,5,6]b = ["a","b","c","d"," ...

  9. Python的列表推导式,字典推导式,集合推导式使用方法

    推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种 1.列表推导式也叫列表解析式.功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表格式:用中括号括起 ...

随机推荐

  1. Elasticsearch索引模板和别名

    创建模板(模板名和索引名一样都不能有大写) PUT http://222.108.x.x:9200/_template/templateds { "template": " ...

  2. Appearance-and-Relation Networks for Video Classification论文笔记 (ARTnet)

    ARTnet: caffe实现:代码 1 Motivation:How to model appearance and relation (motion) 主要工作是在3D卷积的基础上,提升了acti ...

  3. Tarjan算法【强连通分量】

    转自:byvoid:有向图强连通分量的Tarjan算法 Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树.搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断 ...

  4. Java线程池参数

    关于Java线程池的参数设置.线程池是Java多线程里开发里的重要内容,使用难度不大,但如何用好就要明白参数的含义和如何去设置.干货里的内容大多是参考别人的,加入了一些知识点的扩充和看法.希望能对多线 ...

  5. Codeforces Round #506 (Div. 3)

    题解: div3水的没有什么意思 abc就不说了 d题比较显然的就是用hash 但是不能直接搞 所以我们要枚举他后面那个数的位数 然后用map判断就可以了 刚开始没搞清楚数据范围写了快速乘竟然被hac ...

  6. 解决win7 安装完jdk7后,再安装jdk8出现的问题 has value '1.8', but '1.7' is required.

    http://blog.csdn.net/qiyueqinglian/article/details/46605759 电脑装了jdk8,JAVA_HOME也是设置的8. 不删除8变回7. 改了JAV ...

  7. MySQL InnoDB中的事务隔离级别和锁的关系

    前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. ...

  8. awk介绍

    awk 是一个强大的文本处理工具,它将文本逐行读入,并进行切片,默认以空白格为分割符,对单个切片进行分析,处理. 用法: awk '{pattern + action}' {filenames} 尽管 ...

  9. 关于appium-doctor运行时提示不是内部或外部的命令

    1.一定要单独配置android_home (我之前是直接将D:\SDK\platform-tools;D:\SDK\tools;加到path里面会导致appnium-doctor运行时失败,原因为A ...

  10. PHP把采集抓取网页的html中的的&nbsp;去掉或者分割成数组

    日期:2017/11/6 操作系统:windows 今天抓取网页的时候出现 无法替换,经过多次测试,找到了办法;(注意是从网页上抓取到的) 分割 explode("  ",HTML ...