文章目录

  • getcwd()
  • os.listdir(path)
  • os.path.exists(path)
  • chdir()
  • mkdir()
  • os.path.dirname(path)
  • shutil.rmtree(path_test,True)
  • os.makedirs(path[, mode])
  • os.path.abspath(os.path.dirname('__file__'))
  • os.path.split()
  • os.path.splitext()
  • os.rename()
  • os.path.join(path1[, path2[, …]])
  • 字符串join与路径join区别
import os
import shutil

getcwd()

getcwd()方法显示当前的工作目录。

os.listdir(path)

返回path指定的文件夹包含的文件或文件夹的名字的列表。

print (os.getcwd())
print (os.listdir())
D:\01_Project\99_test
['.ipynb_checkpoints', 'argparse、glob、findall.ipynb', 'argparse、glob、findall.md', 'Confusion Matrix.ipynb', 'confusion_matrix.htm', 'data.txt', 'dropna_by_percent.ipynb', 'feature_relations.ipynb', 'File Operation.ipynb', 'findall.ipynb', 'jupyter context.txt', 'lambda.png', 'newdir', 'operationfile.png', 'operationfile1.png', 'package_version.py', 'Path Operation.ipynb', 'Path Operation.md', 'ROC.jpg', 'ROC_AUC.png', 'sql_collect.txt', 'sys.argv.ipynb', 'test_file', '通配符.png']

os.path.exists(path)

路径是否存在

chdir()

可以用chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。

如果不存在目录则会报错。

mkdir()

可以使用os模块的mkdir()方法在当前目录下创建新的目录。目录已存在时会报错。

print (os.getcwd())
path_test = r'newdir'
# shutil.rmtree(path_test,True)
if not os.path.exists(path_test):print (os.path.exists(path_test))os.mkdir(path_test)
#     raise ValueError('Directory is not exist!')
os.chdir(path_test)
print (os.getcwd())
D:\01_Project\99_test
D:\01_Project\99_test\newdir
print (os.getcwd())
path_test = r'newdir'
if os.path.exists(path_test):print (os.path.exists(path_test))shutil.rmtree(path_test,True)
# os.mkdir(path_test)
print (os.getcwd())
D:\01_Project\99_test\newdir
D:\01_Project\99_test\newdir

os.path.dirname(path)

查找上一级目录

print (os.path.dirname(os.getcwd()))
D:\01_Project\99_test

shutil.rmtree(path_test,True)

删除指定路径

shutil是一个高层次的文件操作模块。True参数表示ignore_errors(忽略拷贝时候的错误)。

类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好

os.makedirs(path[, mode])

递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。

python下在字符串前面加上字母r,表示后面是一个原始字符串raw string,不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题

import shutil
# path_test ='D:/01_Project/99_test/newdir/test1/test2'
path_test = r'D:\01_Project\99_test\newdir\test1'
if os.path.exists(path_test):print (os.path.exists(path_test))shutil.rmtree(path_test,True)   os.makedirs(path_test)
print (os.getcwd())
True
D:\01_Project\99_test\newdir
os.makedirs(path, exist_ok=False)

当 exists_ok=False 时,若目录已存在,报 FileExistsError:当文件已存在时,无法创建该文件,exists_ok=True 时,不会报错。

os.chdir(r'D:\01_Project\99_test')

os.path.abspath(os.path.dirname(‘file’))

获取当前文件的路径

cur_path = os.path.abspath(os.path.dirname('__file__'))
print (os.getcwd())
print (cur_path)
D:\01_Project\99_test
D:\01_Project\99_test

os.path.split()

分割目录名,返回由其目录名和基名给成的元组

print (os.path.split("/tmp/f1.txt"))
('/tmp', 'f1.txt')

os.path.splitext()

分割文件名,返回由文件名和扩展名组成的元组

print (os.path.splitext("/home/test.sh"))
('/home/test', '.sh')

os.rename()

文件重命名

with open('data.txt', 'w') as f:data = 'some data to be written to the file'f.write(data)os.rename('data.txt', 'test.py')

os.path.join(path1[, path2[, …]])

地址拼接

print(os.path.join("D:\\", "test", "os.path.join", "2.txt"))
D:\test\os.path.join\2.txt

字符串join与路径join区别

# 字符串
join_str = "testjoin"
new_str = "-".join(join_str)
print(new_str)  # t-e-s-t-j-o-i-n# 列表
join_str2 = ["ww", "dd", "cc"]
new_str = "-".join(join_str2)
print(new_str)  # ww-dd-cc# 元组
join_str3 = ("vv", "bb", "hh")
new_str = "-".join(join_str3)
print(new_str)  # vv-bb-hh# 字典,如果是字典的话,只会把key进行连接,而且是以key在字典中的顺序输出的.
join_str4 = {"name": "song", "age": 18, "sex": "男", "job": "it", "birth": "1993"}
new_str = "-".join(join_str4)
print(new_str)  # name-age-sex-job-birth
t-e-s-t-j-o-i-n
ww-dd-cc
vv-bb-hh
name-age-sex-job-birth

菜鸟网络——OS 文件/目录方法

Path Operation相关推荐

  1. Python 打开目录与指定文件

    Python打开外部文件有很多方法, os.popen打开外部程序,但发现只能打开文件所在目录的文件 os.system可打开外部文件os.system(command) command 要执行的命令 ...

  2. tableview 图片缓存

    需要对图片进行缓存 写入沙盒中,使用多线程下载图将队列放到字典中,value 线程 key 下载路径 判断是否有该key 没有创建添加一个线程下载 赋值图片只需刷新对应cell 就可以 @proper ...

  3. Python与HTML倾情打造情人节示爱网站:愿天下有情人终成眷属!

    陪伴是最长情的告白 世人醉,醉生梦死一世情:世人痴,痴心不悔三生爱.在2021年2月14日到来之际,Python与HTML携手,运用独家浪漫方法为您倾情打造情人节示爱网站:在这里,有各种功能.各种方法 ...

  4. FastAPI 教程翻译 - 用户指南 26 - 安全性

    FastAPI 教程翻译 - 用户指南 26 - 安全性 FastAPI Tutorial - User Guide - Secuity Security Intro 安全性简介 There are ...

  5. fastapi官方文档翻译 -目录

    fastapi官方文档翻译 warmsirius 最新发布 最新评论 目录 fastapi教程翻译(前言):安装和运行 fastapi教程翻译(一):了解FastAPI结构 fastapi教程翻译(二 ...

  6. 《ANSYS 14热力学/电磁学/耦合场分析自学手册》——2.6 主菜单

    本节书摘来自异步社区<ANSYS 14热力学/电磁学/耦合场分析自学手册>一书中的第2章,第2.6节,作者: 胡仁喜 , 张秀辉 更多章节内容可以访问云栖社区"异步社区" ...

  7. 前端埋点需求(vue.js)

    提示:基于运营活动的需求,需要对用户行为进行埋点监控,因此以下文章是代码埋点的实现. 文章目录 前言 一.埋点思考 二.埋点实现 1.埋点工具类实现(operationLog.js) 2.埋点监控的开 ...

  8. python中os模块用法

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...

  9. 第十章 python 常见模块

    python 常见模块 一.sys模块 1. sys模块的作用 2. sys模块的参考页面: 3. sys模块中常用的属性和函数: 二.os模块 1. os模块的作用 2. os模块的参考页面: 3. ...

最新文章

  1. javassist 初步学习
  2. c语言把地址用%d输出字符串,C语言必须要记住的经典程序
  3. knn闽南语是什么意思_小丑竟是我自己是什么意思梗 小丑竟是我自己bgm是什么...
  4. ZZUOJ1196: 单调数
  5. mvc 之 配置EF+oralce
  6. 论文浅尝 | Reinforcement Learning for Relation Classification
  7. C#中的?和?? 可空类型和空值判断
  8. mysql主从搭建教程
  9. Java——常用类(String)
  10. WPF中INotifyPropertyChanged用法与数据绑定
  11. 浪潮之巅·IT从业者或投资人必读书籍
  12. 在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
  13. 开源软件 介绍及地址
  14. Bootstrap4从入门到精通
  15. Html+JavaScript+Css 二手车价格评估系统设计开发
  16. 准确率99.9%的离线IP地址定位库
  17. 申宝在线炒股医药板块大涨
  18. 一文回顾AI绘画的成长之路:从简笔画到真实人脸生成
  19. 树莓派pico mpu6050 一阶互补滤波四元数法 解算姿态角
  20. android 转场动画 共享元素,关于android:四步通过Glide实现共享元素无缝转场效果...

热门文章

  1. 4月8日--关于Date的练习题--自定义获取当前时间
  2. C语言-排序-希尔排序
  3. linux下好用软件全记录
  4. Oracle中查询rownum和rowid的区别
  5. apipost使用mock随机获取多组数据中的一组数据进行测试
  6. 性能测试基础之JMeter聚合报告详解
  7. html网页布局对联,html javascript 网站两侧对联广告
  8. Python 猜数字游戏
  9. 培训学web前端前景如何?
  10. JavaScript的历史由来及简介