5.python3常用类库理解

1.处理文件和目录
1.1.当前工作目录
Python3 os模块,代表 “操作系统(operatingsystem)。os 模块包含非常多的函数用于获取(和修改)本地目录、文件进程、环境变量等的信息。 Python尽力在所有支持的操作系统上提供一个统一的API;
os.getcwd() :获得当前工作目录;
os.chdir():改变当前工作目录,运行os.chdir()时,在Windows 上,也使用Linux的路径(正斜杠,没有盘符),这是 Python 尝试隐藏操作系统差异的一个地方,示例:os.chdir('/Users/pilgrim/diveintopython3/examples');
1.2.处理文件名和目录名
os.path 模块包含了操作文件名和目录名的函数;
os.path.join() 函数从一个或多个路径片段中构造一个路径名;
os.path.expanduser() 用来将包含~符号(表示当前用户Home 目录)的路径扩展为完整的路径;
os.path.split 函数分割一个完整路径并返回目录和文件名;
os.path.splitext() 函数,它分割一个文件名并返回短文件名和扩展名;
1.3.罗列目录内容
glob模块可以通过编程的方法获得一个目录的内容,并且它使用熟悉的命令行下的通配符;
glob.glob('examples/*.xml'):等价于shell:ls examples/*.xml
['examples\\feed‐broken.xml', 'examples\\feed‐ns0.xml', 'examples\\feed.xml']
1.4.获取文件元信息
每一个现代文件系统都对文件存储了元信息: 创建时间,最后修改时间,文件大小等等。 Python 单独提供了一个的 API 用于访问这些元信息,metadata = os.stat('feed.xml');
1.5.构造绝对路径
os.path.realpath():构造一个从根目录开始或者是包含盘符的绝对路径;
2.列表解析
列表解析提供一种紧凑的方式,通过对列表中每一个元素应用一个函数的方法来将一个列表映射到另一个列表;
[elem * 2 for elem in a_list]
列表解析创造一个新的列表而不改变原列表;
可在列表解析的最后加入 if 子句来过滤列表。对于列表中每一个元素 if 关键字后面的表达式都会被计算。如果表达式的计算结果为 True,那么这个元素将会被包含在输出中;
[f for f in glob.glob('*.py') if os.stat(f).st_size > 6000]
3.字典解析
字典解析和列表解析类似,只不过它生成字典而不是列表;
{f:os.stat(f) for f in glob.glob('*test*.py')}
在字典解析中包含 if 字句来过滤输入序列,对于每一个元素字句中的表达式都会被求值;
{os.path.splitext(f)[0]:meta.st_size for f, meta in metadata_dict.items() if meta.st_size > 6000}
4.集合解析
集合也有自己的集合解析的语法。它和字典解析的非常相似,唯一的不同是集合只有值而没有键:值对;

你可能感兴趣的:(python)