解析

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

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

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. python爬虫简单的添加代理进行访问

    在使用python对网页进行多次快速爬取的时候,访问次数过于频繁,服务器不会考虑User-Agent的信息,会直接把你视为爬虫,从而过滤掉,拒绝你的访问,在这种时候就需要设置代理,我们可以给proxi ...

  2. redis 通用函数

    redis 通用函数 construct 命令/方法/函数 Description Creates a Redis client 创建一个Redis客户端 Example $redis = new R ...

  3. 2017-2018-2 20155228 《网络对抗技术》 实验五:MSF基础应用

    2017-2018-2 20155228 <网络对抗技术> 实验五:MSF基础应用 1. 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需 ...

  4. Flask-Migrate

    终于到了Flask-Migrate,之前在看Flask-SQLAlchemy的时候, Flask支持 makemigration / migrate 吗? 答案在这里该诉你,如果你同时拥有两个三方组件 ...

  5. [转载非常好的文章]JLink+GDBServer调试S3C6410裸板的初始化代码 For OK6410开发板

    要调试裸板,有两种初始化方法,一个是用烧好的uboot初始化,再有就是直接用JLink+GDBServer初始化.代码参考了网上的资料,根据手头的OK6410开发板做了修改.整体代码如下: # Con ...

  6. 三月pat(转)

    转自https://blog.csdn.net/weixin_40688413/article/details/88082779 担心别人删除了就找不到了.因为九月要考. 7-1 Sexy Prime ...

  7. JavaScript笔记1———js的数据类型

    JS的数据类型有: 1.数值类型(Number):js中所有数字均用浮点数字表示. 可以表示32位(即4字节)的整数,也可以表示64位(即8字节)的浮点数(小数). 也可以用二进制.八进制.十进制.十 ...

  8. nginx + keepalived 主从模式

    转自:https://www.cnblogs.com/kevingrace/p/6138185.html 负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可 ...

  9. ROS机器人编程实践----琐碎知识点

    amcl原理: amcl将激光传感器数据与从地图预估的传感器数据相比较,给出可能的位姿.如果传感器数据和某个候选位姿处的预测数据相同,amcl就会给这个位姿一个较高的概率,反之,就会降低这个概率.概率 ...

  10. WSDL文档

    portType 相当于一个类. operation 相当于该类里有一个方法名,方法名为processAPNManagement,该方法里有一个输入消息,一个输出消息,一个错误消息.