os模块:与操作系统相关的模块
import os
# 获取当前的工作目录
print(os.getcwd())
# 切换工作目录
os.chdir(r'E:Python est')
print(os.getcwd())
# 当前目录, 一个点
print(os.curdir)
# 上一级目录, 两个点
print(os.pardir)
# 系统的环境变量
print(os.environ)
# 递归创建目录
print(os.makedirs("a/b/c"))
# 递归删除目录, 如果没有文件就删除, 有则保留
print(os.removedirs("a/b/c"))
# 创建一个目录
print(os.mkdir('a1'))
# 删除一个目录
print(os.rmdir('a1'))
# 删除一个文件, 只能删除文件
print(os.remove(r'E:pythona.py'))
# 列出一个目录中所有子目录和文件的名称列表
print(os.listdir(r'E:python'))
# 获取当前平台的路径分隔符
print(os.sep)
# 获取当前平台换行符
print(os.linesep, end="")
from os import path
# 将路径转化为绝对路径
print(path.abspath('a.txt'))
# 获取路径中最后一级的文件名部分
print(path.basename(r'E:Pythonos模块.py'))
# 获取当前文件所在的目录
print(path.dirname(__file__))
# 将路径拆分成文件夹路径和文件名称
print(path.split(r'E:Pythonos模块.py'))
# 判断路径是否存在
print(path.exists(r'E:Pythonos模块.py'))
# 判断是否使绝对路径
print(path.isabs(r'E:Pythonos模块.py'))
# 将多个路径拼接为路径, 如果有多个起始盘符, 取最后一个
print(path.join(r'E:Python', 'D:Python', 'test.txt'))
# 用于将路径规范化, 会将⼤写转为小写, 斜杠改为当前系统分隔符
print(path.normcase(r"AA/BBCC/"))
# 在normcase的基础上可以执行..的回到上⼀层
print(path.normpath('/a/b/../AB'))
获取项目的主目录
import os
print(path.dirname(path.dirname(__file__)))
print(path.normpath(path.join(os.getcwd(), path.pardir)))
sys模块:与解释器相关的模块
import sys
# 查看环境变量
print(sys.path)
# 查看已经加载的模块
print(sys.modules)
# 获取终端调用时的参数
print(sys.argv)
# 获取解释器的版本信息
print(sys.version)
# 程序退出, 下面再有语句都不能执行
sys.exit(0)
shutil模块:与文件操作相关的模块
import shutil
# 拷贝文件
f1 = open(r"E:Pythonshutil模块.py","rb")
f2 = open(r"E:Pythonshutil2模块.py","wb")
shutil.copyfileobj(f1,f2)
# 压缩文件
# 格式: shutil.make_archive(压缩后的文件名, 压缩后缀名, 需要压缩的文件夹)
shutil.make_archive('Python', 'zip', r"E:Python")
# 解压文件
# 格式: shutil.unpack_archive(压缩包路径, 解压路径)
shutil.unpack_archive(r"E:PythonPython.zip", r'E:PythonTemp emp')
# 解压 也可以使用对应的模块来完成
import zipfile
# 先压缩
shutil.make_archive('Python', 'zip', r"E:Python")
# 再解压
z = zipfile.ZipFile(r"E:PythonPython.zip", "r")
z.extractall(path=r"E:Python解压")
z.close()
import tarfile
# 先压缩
shutil.make_archive('Python', 'tar', r"E:Python")
# 再解压
t = tarfile.open(r'E:PythonPython.tar', 'r')
t.extractall(path=r'E:Python解压2')
t.close()