解析

列表解析、字典解析、集合解析

浏览本地文件系统的模块:

1 os

2 os.path

3 glob

os模块:获取(和修改)本地目录、文件进程、环境变量等信息

os.path模块:包含了操作路径名、文件名和目录名的函数(拼接、分隔等)

glob 模块利用shell风格的通配符,获得一个目录的内容

处理文件和目录

当前工作目录 ----> 加入到搜索路径中的目录或者切换当前目录到新的目录,新目录变成新的当前工作目录

os模块

import os:导入os模块

os.getcwd():获取当前工作目录

os.chdir():切换当前工作目录  (可以使用linux风格的路径)

处理文件名和目录名

os.path模块:包含了操作路径名、文件名和目录名的函数(拼接、分隔等)

os.path.join():将一个或者多个路径片段构造成一个路径名(可以接受任意数量的参数)

os.path.expanduser('~'):输出系统的home路径名

os.path.split():传入完整路径名,返回元组,包括文件目录和文件名

os.path.splitext():传入文件名,返回元组,包括短文件名(不包括文件扩展)和文件扩展名

罗列目录内容

glob 模块利用shell风格的通配符,获得一个目录的内容

import glob

glob.glob() 传入一个通配符,返回列表,所有匹配的文件和目录的路径。

获取文件元信息

文件元信息:创建时间,最后修改时间,文件大小等

import os

metadata = os.stat():返回多种文件元信息的对象

metadata.st_mtime:最后修改时间(时间格式化:time.localtime(),返回时间结构体)

metadata.st_size:文件大小

构造绝对路径

os.path.realpath():返回一个从根目录开始或者是包含盘符的绝对路径

列表解析

A列表 --func() --> B列表

例子:

>>> a_list = [1, 2, 3, 4]
>>>[elem * 2 for elem in a_list]
[2, 4, 6, 8]

注意:

1 请从右向左看。 a_list 是你要映射的列表。Python 解释器逐个访问 a_list 的元素,并临时将元素赋值给变量 elem。 然后 Python 对元素应用函数 elem * 2 并且将结果添加到返回列表中。

2 列表解析创建新的列表,不会覆盖旧列表

3 可以把列表解析的结果(新列表)赋值给旧列表

4 可以在列表解析的最后加入if子句来过滤列表

5 可以构造元组列表

字典解析

>>> import glob
>>> import os
>>> metadata_dict = {f:os.stat(f) for f in glob.glob('test*.py')}
>>> os.chdir('D:\pythonTest')
>>> metadata_dict = {f:os.stat(f) for f in glob.glob('test*.py')}
>>> type(metadata_dict)
<class 'dict'>
>>> list(metadata_dict.keys())
['test01.py', 'test02.py', 'test03.py', 'test04.py', 'test05.py', 'test06.py']
>>> 

跟列表解析的不同:

1 花括号包围

2 冒号分隔两个表达式,冒号前是键,冒号后是值

交换字典的键值

集合解析

与字典解析不同的是:

1 集合只有值而没有键值对

注意:

1 可以在集合解析的最后加入if子句来过滤列表

2 集合解析的输入可以是任何序列

参考文档:

dive into python 3

python372.chm

python 学习笔记 4 ----> dive into python 3的更多相关文章

  1. python 学习笔记 5 ----> dive into python 3

    字符串 文本:屏幕上显示的字符或者其他的记号 计算机认识的东西:位(bit)和字节(byte) 文本的本质:某种字符编码方式保存的内容. 字符编码:一种映射(显示的内容  ----> 内存.磁盘 ...

  2. python 学习笔记 3 ----> dive into python 3

    Python内置数据类型 注意: Python可以不需要声明变量的数据类型.它是根据变量的初始赋值情况分析数据类型,并在内部跟踪变量. 比较重要的数据类型: 1 布尔型(Booleans):True. ...

  3. python 学习笔记 2 ----> dive into python 3

    Python Shell idle的使用 >>> >>>help() ----> help> 可以在help这个工具中查找Python内置函数的文档等等 ...

  4. python学习笔记:安装boost python库以及使用boost.python库封装

    学习是一个累积的过程.在这个过程中,我们不仅要学习新的知识,还需要将以前学到的知识进行回顾总结. 前面讲述了Python使用ctypes直接调用动态库和使用Python的C语言API封装C函数, C+ ...

  5. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  6. [Python学习笔记][第五章Python函数设计与使用]

    2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...

  7. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

  8. Python学习笔记:第一天python基础

    目录 1. python简介 2. python的安装 3. 编写第一个helloword 4. 变量和常量 5. 数据类型 6. 输入 7. if语句 1. python简介 python是在198 ...

  9. Python学习笔记(四)Python程序的控制结构

    在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...

随机推荐

  1. Java面试宝典(2018版)

    置顶 2018年11月10日 23:49:18 我要取一个响亮的昵称 阅读数:8893    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen ...

  2. [ISSUE] [Centos] Centos Start Nginx Show: Failed to start nginx.service:unit not found

    CMD Line:systemctl start nginx.serviceFailed to start nginx.service: Unit not found. Solution: 1.vim ...

  3. FineUI 相关

    FineUI 相关(ExtAsp.Net 2008-2017),记在这把,免得找不到了. 不知道同年代的类似项目Coolite怎么样了?更名为Ext.net了,在国外活得还算滋润,在国内嘛..死贵死贵 ...

  4. php 中 global 与 $GLOBAL 的区别

    很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然. 根据官方的解释是$GLOBALS['var'] 是外部的全局变量$var本身. global $var 是外部$var的同 ...

  5. .NET Core 微服务

    github 上的资源: EshopOnContainers AiurSoft : 微服务框架 Server酱:是一款「程序员」和「服务器」之间的通信软件. http://sc.ftqq.com/3. ...

  6. 对八皇后的补充以及自己解决2n皇后问题代码

    有了上次的八皇后的基础.这次准备解决2n皇后的问题,: //问题描述// 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行./ ...

  7. 【js】了解前端缓存,收获不止于此!

    了解前端缓存,收获不止于此! 这次我们来讲一下关于前端缓存的问题.感谢赵欢同学提供doc素材. 首先,开局我画了一张图,你会对文章有一个大局了解. 今天讲的是前端缓存. 前端缓存有3大种:如图,分为H ...

  8. 1.4:SubShader

    文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本系列原更新于作者的github博客,这里给出链接. 在了解了渲染流水线之后,我们可以开始SubShader的学习了. 什么是S ...

  9. open-falcon部署v0.2.1版本

    环境准备 安装redis yum install redis -y systemctl start redis 安装mysql rpm -ivh http://dev.mysql.com/get/my ...

  10. JS中常见设计模式总结

    github: https://github.com/14glwu/FEInterviewBox/tree/master/JS%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F ...