# --------------------------------
# 使用os模块操作目录和文件
# --------------------------------
# getcwd() 获取当前目录路径
cwd = os.getcwd()
print("当前目录:", cwd)

# mkdir() 创建单级目录,如果目录已存在会报错
os.mkdir('./temp')

# rename() 重命名目录或文件
os.rename('./temp', './ch13')

# abspath() 将相对路径转换为绝对路径
abs_path = os.path.abspath('./ch13')
print("绝对路径是:", abs_path)

# 解决方法一(目录已存在)
if not os.path.exists('./ch13'):
# 先确定目录不存在,再创建
os.mkdir('./ch13')

# 解决方法二(目录已存在)
# 进行异常捕获
try:
os.mkdir('./ch13')
except FileExistsError:
print("目录已存在!")

# rmdir() 删除单级空目录,若不为空无法删除
try:
os.rmdir('ch13')
except OSError as oe:
print(oe.strerror)

# 解决方法(删除的目录不为空)
dir_name = 'ch13'
# 获得目录下的文件列表
file_list = os.listdir('./{}'.format(dir_name))
# 如果列表不为空
if file_list:
print(file_list)
for f in file_list:
# 循环列表,逐个删除文件,清空目录
os.remove('./{}/{}'.format(dir_name, f))
# 最后删除空目录
os.rmdir(dir_name)

# makedirs() 创建多级目录
os.makedirs('./dir1/dir2/dir3')

# removeddirs() 删除多级空目录
os.removedirs('./dir1/dir2/dir3')

file_path = r'D:\path\test.txt'
# split() 将路径分解为文件夹和文件名
print("分解路径:", os.path.split(file_path))

# dirname() 获取路径中的文件夹部分
dir_name = os.path.dirname(file_path)
print("文件夹:", dir_name)

# basename() 获取路径中的文件名
file_name = os.path.basename(file_path)
print("文件名:", file_name)

# join() 将目录名和文件名进行拼接
path_name = os.path.join(dir_name, file_name)
print("文件完整路径:", path_name)

python -- os处理模块的更多相关文章

  1. 【308】Python os.path 模块常用方法

    参考:Python os.path 模块 参考:python3中,os.path模块下常用的用法总结 01   abspath 返回一个目录的绝对路径. 02   basename 返回一个目录的基名 ...

  2. python os.path模块--转载

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...

  3. [转载]python os.path模块

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  4. Python os常用模块

    Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Wi ...

  5. python:os.path模块常用方法

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  6. python os.path模块常用方法详解

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  7. python os.path模块常用方法详解(转)

    转自:https://www.cnblogs.com/wuxie1989/p/5623435.html os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方 ...

  8. python os.path模块常用方法详解 ZZ

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  9. [转]Python os.path模块

    os.path模块 原文链接:http://my.oschina.net/cuffica/blog/33494 basename('文件路径')    去掉目录路径,返回fname文件名 import ...

  10. python os.path 模块

    os.path模块用法: 1, os.path.basename() >>> os.path.basename('/share/Public/cmiao')'cmiao' basen ...

随机推荐

  1. 短波红外(SWIR)相机camera

    短波红外(SWIR)相机camera AVs Can't Drive Everywhere. Can TriEye's SWIR Camera Help? TriEye的短波红外(SWIR)摄像机能否 ...

  2. NSight Compute 用户手册(上)

    NSight Compute 用户手册(上) 非交互式配置文件活动 从NVIDIA Nsight Compute启动目标应用程序 启动NVIDIA Nsight Compute时,将出现欢迎页面.单击 ...

  3. 数据、人工智能和传感器按COVID-19新冠流感排列

    数据.人工智能和传感器按COVID-19新冠流感排列 Data, AI and sensors arrayed against COVID-19 各国政府.卫生保健专业人士和工业界争先恐后地应对Cov ...

  4. 实时双频Wi-Fi如何实现下一代车内连接

    实时双频Wi-Fi如何实现下一代车内连接 How real simultaneous dual band Wi-Fi enables next-generation in-vehicle connec ...

  5. 面试官就是要问我SpringMVC的源码,差点顶不住!

    <对线面试官>系列目前已经连载22篇啦!有深度风趣的系列! [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 & ...

  6. Linkerd 2.10(Step by Step)—2. 自动化的金丝雀发布

    通过结合 Linkerd 和 Flagger 来根据服务指标自动金丝雀(canary)发布,从而降低部署风险. Linkerd 2.10 中文手册持续修正更新中: https://linkerd.ha ...

  7. 【NX二次开发】Block UI 整数表

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  8. 【SQLite】教程05-SQLite创建数据库、附加、分离数据库

    创建数据库 .quit命令 退出sqlite 提示符 .quit .dump 命令 使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示: sqlite3 Test.db ...

  9. oracle数据库归档日志量陡增分析

    ============= oracle数据库archivelog暴增分析 ==================== 前言 归档量突然增长到981G/天,导致归档目录使用率告警 归档日志量异常暴增会导 ...

  10. WPF中选择文件和选择文件夹的方法

    最近从winform转WPF,遇到了各种各样的问题.然而网上的关于WPF的资料少之又少,甚至连基本的文件选择操作,百度搜索的首页都没有一个比较好的方法.所以,踩了几个坑之后,我把我得到的方法分享给大家 ...