共计 1609 个字符,预计需要花费 5 分钟才能阅读完成。
OS(operating system)是 Python 内置模块,提供与操作系统相关的方法。
import os
print(os.name) # 操作系统类型
print(os.environ) # 操作系统中定义的环境变量
print(os.environ.get("PATH")) # 获取某个环境变量的值
如果是 posix,说明系统是 Linux、Unix 或 Mac OS X,如果是 nt,说明是 Windows 系统。
文件操作
重命名文件
# abc.txt -> 123.txt
os.rename('abc.txt', '123.txt')
删除文件
# 删除文件或文件夹
os.removedirs(p1) # 删除空文件夹
if os.path.exists(p2):
os.remove(p2) # 文件不存在会报错
判断
# 是否是文件
is_file = os.path.isfile('abc.txt')
print(is_file) # True
目录操作
目录列表
dirs = os.listdir(p1) # 获取所有文件和文件夹
# 获取所有文件和文件夹(包含子孙文件)data = os.walk(p1) # 返回生成器(文件路径 文件夹 文件)for filepath, folders, files in data:
for file in files:
file_abs_path = os.path.join(filepath, file)
ext = file_abs_path.rsplit(".", 1)[-1]
if ext == "txt":
print(file_abs_path)
创建目录
# 递归创建文件夹
if not os.path.exists(p1):
os.makedirs(p1) #如果文件夹只有一级,则用 mkdir() 就行
删除目录
os.rmdir(目录名)
判断
# 是否是文件夹
is_dir = os.path.isdir(p1)
print(is_dir) # True
获取当前目录
os.getcwd()
修改工作目录
os.chdir(目标目录)
路径
import os
# 获取当前脚本绝对路径
abs_path = os.path.abspath(__file__)
# 或者获取当前目录绝对路径
print(os.path.abspath("."))
# 获取当前文件的上级目录
base_path = os.path.dirname(__file__)
print(base_path) # 假设为:D:Python
# 路径拼接
p1 = os.path.join(base_path, 'img')
print(p1) # 结果为:D:Pythonimg
p2 = os.path.join(base_path, 'img', 'logo.png')
print(p2) # 结果为:D:Pythonimglogo.png
# 判断路径是否存在
exists = os.path.exists(p1)
print(exists) # 结果为:False
# 把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名
print(os.path.split(abs_path))
# 得到文件扩展名
print(os.path.splitext(abs_path))
大小和时间
# 文件大小 KB
os.path.getsize('文本文档.txt') / 1024
# 文件创建时间(修改时间为 getmtime)create_time=os.path.getctime('文本文档.txt')
# 时间戳转格式化
real_time= time.localtime(create_time)
dt=time.strftime("%Y-%m-%d %H:%M", real_time)
target_time='2022-06-06 10:10'
# 转为时间数组
time_array=time.strptime(target_time, "%Y-%m-%d %H:%M")
my_target_time=float(time.mktime(time_array))
正文完