Python标准库之——os模块
前言:继上一篇学完Python,我决定熬夜整理这篇总结…,本篇总结一下Python中常用的os标准库用法,通过Demo程序来加深理解
os模块
os模块提供了与操作系统相关的接口,用于实现程序与系统的交互。
关于os模块的详细介绍见官方文档:os — 多种操作系统接口
Demo实例
在此写个小的Demo程序展示一下os模块的相关用法,以下程序实现由用户指定一个工作目录,在其目录下完成目录的创建、显示和分类、以及删除操作。
'''
@Author Caso_卡索
@Date 2020-8-24 22:39
@Func 使用 os 模块操作文件目录
'''
import os
def getcurrentpath():
return os.getcwd() # 获取当前工作路径
def showcurpathlist(curpath):
dirlist = os.listdir(curpath) # 返回指定目录下的所有文件名和目录
for i in dirlist:
fullpath = os.path.join(curpath, i)
if os.path.isfile(fullpath): # 判断是文件
print("文件: ", fullpath)
elif os.path.isdir(fullpath): # 判断是目录
print("目录: ", fullpath)
else:
print("其他: ", fullpath)
def changeworkspace(targetpath):
os.chdir(targetpath) # 切换工作路径
cur_path = getcurrentpath()
print("切换后的工作目录: ", cur_path)
try:
os.mkdir('temp') # 创建临时目录temp
except Exception as e:
print(e)
else:
print("mkdir Success!")
showcurpathlist(cur_path)
os.rmdir('temp') # 删除创建的临时目录
if __name__ == '__main__':
print("当前系统平台: ", os.name)
print("初始工作目录: ", getcurrentpath())
workpath = input("请输入工作目录: ")
if not os.path.isabs(workpath): # 判断是否是绝对路径
workpath = os.path.join(os.getcwd(), workpath) # 拼接目录
if not os.path.exists(workpath): # 判断路径是否存在
os.mkdir(workpath)
changeworkspace(workpath)
E:>python demo.py
当前系统平台: nt
初始工作目录: E:
请输入工作目录: Python
切换后的工作目录: E:\Python
mkdir Success!
文件: E:\Python\chromedriver_win32.zip
目录: E:\Python\Demo
目录: E:\Python\Python基础
目录: E:\Python\temp
目录: E:\Python\webdrivers
平台信息
方法 | 功能 |
---|---|
os.name | 依赖的操作系统的模块的名称,目前已注册: ‘posix’, ‘nt’, ‘java’ |
os.sep | 操作系统用来分隔路径的字符,在 POSIX 上是 ‘/’,在 Windows 上是是 ‘\’ |
os.environ | 一个表示字符串环境的 mapping 对象,如 os.environ[‘Path’] |
os.getcwd() | 返回当前工作目录的字符串 |
目录操作
方法 | 功能 |
---|---|
os.listdir(path=’.’) | 返回一个列表,该列表包含了 path 中所有文件与目录的名称 |
os.mkdir(path, mode=0o777, *, dir_fd=None) | 创建一个名为 path 的目录,应用以数字表示的权限模式 mode |
os.makedirs(name, mode=0o777, exist_ok=False) | 递归目录创建函数,会自动创建到达最后一级目录所需要的中间目录 |
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) | 将文件或目录 src 重命名为 dst,如果dst存在,则失败 |
os.rmdir(path, *, dir_fd=None) | 删除目录 path |
os.chdir(path) | 改变当前工作路径到指定目录 path |
os.removedirs(name) | 删除多层递归空目录,直到目录中有文件,不能再删除 |
os.path模块
os.path模块用来操作路径,查看官方文档 os.path — 常用路径操作
下面列出 os.path 中的一些常用操作
方法 | 功能 |
---|---|
os.path.abspath(path) | 返回路径 path 的绝对路径(标准化的) |
os.path.basename(path) | 返回路径 path 的基本名称 |
os.path.dirname(path) | 返回路径 path 的目录名称 |
os.path.exists(path) | 如果 path 指向一个已存在的路径或已打开的文件描述符,返回 True |
os.path.getatime(path) | 返回 path 的最后访问时间 |
os.path.getmtime(path) | 返回 path 的最后修改时间 |
os.path.getctime(path) | 返回 path 在系统中的 ctime |
os.path.getsize(path) | 返回 path 的大小,以字节为单位 |
os.path.isabs(path) | 如果 path 是一个绝对路径,则返回 True |
os.path.isfile(path) | 如果 path 是 现有的 常规文件,则返回 True |
os.path.isdir(path) | 如果 path 是 现有的 目录,则返回 True |
os.path.islink(path) | 如果 path 指向的 现有 目录条目是一个符号链接,则返回 True |
os.path.ismount(path) | 如果路径 path 是挂载点,则返回 True |
os.path.join(path, *paths) | 合理地拼接一个或多个路径部分 |
os.path.realpath(path) | 返回指定文件的规范路径,消除路径中存在的任何符号链接(如果操作系统支持) |
作者: Caso_卡索
博客: https://blog.csdn.net/xiaoma_2018
一个独立、不甘于现状的程序员,喜欢的朋友点赞支持一下,在此感谢,Python专栏后续持续更新…
所有博客均在CSDN首发 Caso_卡索 https://blog.csdn.net/xiaoma_2018