内置库 os
os 概述
- os: Operating System–操作系统
- os 模块的常用功能
- 跨平台的差异
os 使用
- 导入 os 模块
- 查看 os 模块使用文档
- help(os)
- dir(os)
import os
# 查看os模块说明文档
help(os)
# 查看os模块的属性和方法
print(dir(os))
os 常用方法
- 系统相关
- 操作目录
- 操作路径
os 操作系统相关
- os.name:获取系统名称
- os.environ:获取系统环境变量信息
- os.getenv(‘PATH’):获取指定名称的环境变量信息
- os.system():执行系统指令
import os
# os.name:获取系统名称 nt代表window,posix代表linux
print(os.name)
# os.environ:获取系统环境变量信息
print(os.environ)
# os.getenv('PATH'):获取指定名称的环境变量信息
print(os.getenv('PATH'))
# os.system():执行系统指令
os.system('pwd') # linux系统
print(os.system('dir')) # windows系统
os 目录相关
- os.getcwd():获取当前目录
- os.chdir():切换目录
- os.listdir():列出当前目录内容
- os.mkdir():创建空目录
- os.makedirs():递归创建多级目录
- os.rmdir():删除空目录
- os.rename():重命名目录
- os.remove():删除文件
"""目录相关"""
# 获取当前所在目录 get current directory
print(os.getcwd())
# 切换目录 change directory
os.chdir('..')
# 列出当前目录下的所有文件
print(os.listdir())
# 创建空目录
os.mkdir('new')
# 递归创建多级空目录
os.makedirs('a/b/c')
# 删除空目录
os.rmdir('new')
# 重命名目录
os.rename('a', 'a1')
# 删除文件
os.remove('demo.txt')
os 路径相关
path 方法 | 说明 |
---|---|
os.path.abspath(path) | 返回绝对路径 |
os.path.basename(path) | 返回文件名 |
os.path.dirname(path) | 返回文件路径 |
os.path.split(path) | 分割路径 |
os.path.join(path) | 拼接路径 |
os.path.exists(path) | 判断路径是否存在 |
os.path.isdir(path) | 判断是否是目录 |
os.path.isfile(path) | 判断是否是文件 |
os.path.getsize(path) | 获取文件大小 |
os 路径用法实例
# 返回绝对路径
print(os.path.abspath("./os_demo.py"))
# 返回文件名
print(os.path.basename("/Users/xiaofo/coding/pythonProject/course/os_demo.py"))
# 返回文件路径
print(os.path.dirname("/Users/xiaofo/coding/pythonProject/course/os_demo.py"))
# 分割路径
print(os.path.split("/Users/xiaofo/coding/pythonProject/course/os_demo.py"))
# 拼接路径
print(os.path.join("/Users/xiaofo/coding/pythonProject/course", "os_demo.py"))
# 判断路径是否存在
print(os.path.exists("/Users/xiaofo/coding/pythonProject/course/os_demo.py"))
print(os.path.exists("./os_demo.py"))
# 判断是否是目录
print(os.path.isdir("../demos"))
# 判断是否是文件
print(os.path.isfile("./hello.py"))
# 获取文件大小
print(os.path.getsize("/Users/xiaofo/coding/pythonProject/course/os_demo.py"))
内置库 sys
sys 概述
- 是 Python 自带的内置模块
- 是与 Python 解释器交互的桥梁
sys 使用
- 常用属性
- 常用方法
- 导入 sys 模块
# 导入sys模块
import sys
# 查看sys模块帮助文档
help(sys)
# 查看sys模块的属性和方法
print(dir(sys))
sys 常用属性
- sys.version:返回 Python 解释器版本
- sys.platform:返回操作系统平台名称
- sys.argv:返回外部向程序传递的参数
- sys.modules:返回已导入的模块信息
- sys.path:返回导包的搜索路径列表
"""sys模块常用属性"""
# 返回Python 解释器版本
print(sys.version)
# 返回操作系统平台名称
print(sys.platform)
# 返回外部向程序传递的参数
print(sys.argv)
# 返回已导入的模块信息
print(sys.modules)
print(sys.modules.keys())
# 返回导包的搜索路径列表
print(sys.path)
sys 常用方法
- sys.getdefaultencoding():获取编码方式
- sys.exit():运行时退出
"""sys模块常用方法"""
# 获取系统当前编码
print(sys.getdefaultencoding())
# 运行时退出
sys.exit()
Python 内置库 - 文件处理
霍格沃兹测试开发学社
IO 操作
文件操作步骤
- 打开文件
- 操作文件:读/写内容
- 关闭文件(读写完成,要及时的关闭)
open 方法
def open(file, mode='r', buffering=None,
encoding=None, errors=None, newline=None,
closefd=True):
文件读写模式
实战1
# 第一步:(以只读模式)打开文件
f = open('data.txt', 'r', encoding='utf-8')
# 第二步:读取文件内容
print(f.read())
# 第三步:关闭文件
f.close()
读操作
# 第一步:(以只读模式)打开文件
f = open('data.txt', 'r', encoding='utf-8')
# 第二步:读取文件内容
# 换行符会占一个字符
# print(f.read(15))
# result = f.read()
# print(type(result)) ---<class 'str'>
# 读完一次之后,再次读取文件,内容将不是完整的,需要重新设置游标位置
# 设置游标的位置
# f.seek(0)
# result1 = f.readlines()
# print(type(result1)) ---<class 'list'>
# print(result1)
print(f.readline())
print(f.readline())
# 第三步:关闭文件
f.close()
忘记关闭文件的危害
- 打开文件达到一定数量, 将会导致打开失败
- 占用内存空间,非常浪费资源
- 会导致系统自动回收资源,而丢失数据
with 用法
with open('data.txt', 'r', encoding='utf-8') as f:
print(f.read())
print(f.closed) ## 查看关闭状态
读操作实战
- 读取指定长度的内容
- 读取文件中的一行
- 遍历打印文件中的每一行
写操作实战
- mode=“w+”, 读写权限,会新建文件,清空内容再写入
- mode=“r+”, 读写权限,替换原来的内容
- mode=“a+”, 读写权限,追加内容
# r+替换原来的内容,不是完全替换,一个个替换
# w+ 会清空,再写入,如果没有文件,会创建新文件
# with open('data1.txt','w+',encoding='utf-8') as f:
# print(f.write('格兰芬多'))
# # hello world!
# a+ 会在最末尾的位置,追加数据,不清空原来的内容
with open('data1.txt','a+',encoding='utf-8') as f:
print(f.write('\n赫敏'))
# hello world!
总结
- 使用 with 方法,会自动完成关闭操作
- 通过 python 封装的 API,可以实现读,写,追加操作
- 文件打开要使用utf-8的编码格式(以免中文出现乱码)