python 学习笔记 4 ----> dive into python 3
解析
列表解析、字典解析、集合解析
浏览本地文件系统的模块:
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的更多相关文章
- python 学习笔记 5 ----> dive into python 3
字符串 文本:屏幕上显示的字符或者其他的记号 计算机认识的东西:位(bit)和字节(byte) 文本的本质:某种字符编码方式保存的内容. 字符编码:一种映射(显示的内容 ----> 内存.磁盘 ...
- python 学习笔记 3 ----> dive into python 3
Python内置数据类型 注意: Python可以不需要声明变量的数据类型.它是根据变量的初始赋值情况分析数据类型,并在内部跟踪变量. 比较重要的数据类型: 1 布尔型(Booleans):True. ...
- python 学习笔记 2 ----> dive into python 3
Python Shell idle的使用 >>> >>>help() ----> help> 可以在help这个工具中查找Python内置函数的文档等等 ...
- python学习笔记:安装boost python库以及使用boost.python库封装
学习是一个累积的过程.在这个过程中,我们不仅要学习新的知识,还需要将以前学到的知识进行回顾总结. 前面讲述了Python使用ctypes直接调用动态库和使用Python的C语言API封装C函数, C+ ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- [Python学习笔记][第五章Python函数设计与使用]
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
- Python学习笔记:第一天python基础
目录 1. python简介 2. python的安装 3. 编写第一个helloword 4. 变量和常量 5. 数据类型 6. 输入 7. if语句 1. python简介 python是在198 ...
- Python学习笔记(四)Python程序的控制结构
在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...
随机推荐
- java中xxe漏洞修复方法
java中禁止外部实体引用的设置方法不止一种,这样就导致有些开发者修复的时候采用的错误的方法 之所以写这篇文章是有原因的!最早是有朋友在群里发了如下一个pdf, 而当时已经是2019年1月末了,应该不 ...
- php中双$符 及一些基础知识
双$$符号表示可变变量 如 $a = "b", $b = 'c'; echo $$a 此时 $$a=>$($a) =>$b 输出的值就应该为c; 变量传应用值$b ...
- CentOS 7下 部署Redis-cluster集群
redis集群是一个无中心的分布式redis存储架构,可以在多个节点之间进行数据共享,解决了redis高可用.可扩展等问题,redis集群提供了以下两个好处:1)将数据自动切分(split)到多个节点 ...
- logback日志丢失的情况之一
在游戏服务器上线之后,会记录很多统计日志,这些日志是第三方需要的数据,通过linux 的 rsync方式同步给第三方.日志规则 每十分钟会创建一个日志文件.然后后台有一个rsync进程,每隔十分钟向第 ...
- 不平衡数据下的机器学习方法简介 imbalanced time series classification
imbalanced time series classification http://www.vipzhuanli.com/pat/books/201510229367.5/2.html?page ...
- IT题库1-HashMap、HashSet和HashTable(区别?数据格式?)
1. HashTable和HashMap的区别 HashMap和Hashtable都实现了Map接口.主要区别:线程安全性,同步(synchronization),以及速度. 1.HashMap是非s ...
- 用Nuget部署程序包
用Nuget部署程序包 Nuget是.NET程序包管理工具(类似linux下的npm等),程序员可直接用简单的命令行(或VS)下载包.好处: (1)避免类库版本不一致带来的问题.GitHub是管理源代 ...
- spring源码解析1--spring整体架构
一.Spring整体架构图 关于Spring的基本介绍就不再赘述了,先展示Spring框架的整体架构图如下示: 二.Spring结构介绍 Spring主要分为Core Container.Test.D ...
- liunx驱动----系统滴答时钟的使用
2019-3-12系统滴答定时器中断使用 定义一个timer 其实就是使用系统的滴答定时器产生一个中断. 初始化timer init_timer函数 实现如下 void fastcall ini ...
- 使用CA签发的服务器证书搭建Tomcat双向SSL认证服务
第一部分,先说证书的申请. 这步是要到正规的CA公司申请正式的设备证书必须走的步骤. 1.先生成证书的密钥对 打开命令行,切换到某个自己新建的目录下,执行如下命令 keytool -genkey -k ...