解析
列表解析、字典解析、集合解析
浏览本地文件系统的模块:
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 ...
随机推荐
-
总结新系统部署时,Oracle的一些注意事项:
1.Oracle安装时,要选择字符集为中文编码,数据库重要角色设置密码时,不要用数字开头,不然后面会报一些错误提示 2.emp导出的数据dmp格式,导入时要在服务器导入,具体没有试,要找机会试试,转化 ...
-
iOS中UIMenuController的使用
不知你有没有发现,在你的微信朋友中,长按一段文字(正文或者评论),会弹出这样子的玩意: 要想在你的view或者viewController中实现长按弹出菜单栏你必须要调用becomeFirstResp ...
-
Spring-编程式事物
所谓编程式事务指的是通过编码方式实现事务,即类似于JDBC编程实现事务管理. Spring框架提供一致的事务抽象,因此对于JDBC还是JTA事务都是采用相同的API进行编程. Connection c ...
-
Win10手动添加开始磁铁
1.移动到C:\Users\spring\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 2.拖拽
-
ActiveMQ(5.10.0) - Configuring the JAAS Authentication Plug-in
JAAS provides pluggable authentication, which means ActiveMQ will use the same authentication API re ...
-
A Tour of Go Buffered Channels
Channels can be buffered. Provide the buffer length as the second argument to make to initialize a b ...
-
3D项目处理点选操作步骤
1.用notepad++模型的obj格式文件,查找到模型各个部分的名称,命名规则:g mesh......,把名字改为规则命名. 2.选择处理 #ifdef _DEBUG #pragma comm ...
-
DLL的导出函数重定向机制
曾经,调试时跟进HeapAlloc,结果发现直接进入到ntdll的RtlAllocateHeap中,感到很有趣,就使用Dependency Walker查看kernel32.dll的导出函数,结果发现 ...
-
JS 生成唯一数字
如题,在JS中,利用Date.getTime()来生成唯一数字,用于ID function uniqueNumber() { var date = Date.now(); if (date <= ...
-
一天带你入门到放弃vue.js(一)
写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...