# --------------------------------
# 使用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)

最新文章

  1. QT 智能提示设置
  2. 将数据导出到Excel2007格式。
  3. codeforces 484B B. Maximum Value(二分)
  4. JavaScript中函数的形参和实参的实现原理剖析
  5. delphi请求idhttp数据
  6. node.js在windows下的学习笔记(2)---简单熟悉一些命令
  7. .NET下的加密解密大全(3):非对称加密
  8. PostgreSQL的存储系统二:REDOLOG文件存储结构二
  9. Qt socket中怎么传结构体?
  10. MySQL5.5安装出现CMake错误找不到CMakelists.txt原因
  11. Cookie和Session总结
  12. dedecms织梦网站图片集上传图片出现302错误图片提示怎么解决 已测
  13. 开发中的Date处理
  14. [Android] Android 卡片式控件CardView的优雅使用
  15. Python 正则表达式模块 (re) 简介
  16. 省赛在即!最大流问题回顾学习!!DInic
  17. 使用 Gradle 对应用进行个性化定制
  18. jmeter -- 在beanshell中拿到请求body参数和header参数
  19. 2017年5月22日 HTML基础知识(一)
  20. ui-sref

热门文章

  1. TVM vs TensorRT比较
  2. Recommenders with TensorRT
  3. 孟老板 BaseAdapter封装 (三) 空数据占位图
  4. Django(58)viewsets视图集详解
  5. Centos acme.sh 申请 LetsEncrypt 通配证书
  6. UF_MTX 矩阵操作
  7. 【NX二次开发】导出x_t、导入x_t例子,UF_PS_export_data、UF_PS_import_data
  8. 【NX二次开发】获取两个面之间的所有面
  9. 把axios获取到的数据渲染到列表上,使用better-scroll实现列表左右滑动
  10. Spring Boot WebFlux-10——WebFlux 实战图书管理系统