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专栏后续持续更新…

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caso_卡索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值