Python的os包与os.path模块的用法详情
目录
一、os常用方法1.获取当前路径os.getcwd()2.获取指定路径下有哪些文件和目录,os.listdir(path)返回一个list3.创建目录(一级)os.mkdir(paht)4.删除文件os.remove(path)5.递归删除空目录os.removedirs(path)6.删除空目录os.rmdir(path)7.创建多级目录os.makedirs(path)二、os.path常用方法1.路径拼接os.path.join(path1,path2…)2.路径分离os.path.split(path)返回tuple3.判断是否是目录os.path.isdir(path)4.判断是否是文件os.path.isfile(paht)5.判断路径是否存在os.path.exists(path)6.判断路径是不是绝对路径os.path.isabs(path)一、os常用方法
1.获取当前路径 os.getcwd()
# coding:utf-8 import os if __name__ == "__main__": print(os.getcwd()) # G:\workSpace\py_d
2.获取指定路径下有哪些文件和目录,os.listdir(path)返回一个list
# coding:utf-8 import os if __name__ == "__main__": print(os.listdir(os.getcwd())) # [".idea", "main.py", "os_module.py", "sk"]
3.创建目录(一级) os.mkdir(paht)
os.mkdir(path) 创建目录:
以下两种情况会报错:
2.要创建目录的上级目录不存在(a不存在,则不能创建b目录)3.要创建的目录已存在(b存在,则不能创建b目录)# coding:utf-8 import os if __name__ == "__main__": os.mkdir("sk/a/b") # 在当前sk/a 目录中创建b目录 # os.mkdir(os.path.join(os.getcwd(), "sk", "a", "b")) 和上面的一样,只不过换成了绝对路径
4.删除文件 os.remove(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.remove(path) 要求path是文件且存在 """ os.remove("sk/a/b/503.py") # os.remove(os.path.join(os.getcwd(), "sk", "a", "b", "503.py")) 和上面的一样,只不过路径换成绝对路径了
5.递归删除空目录 os.removedirs(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.removedirs(path) 如果最底层目录不是空目录直接报错(s2不是空目录则报错) 从最第底层目录开始删,一直删到最上层目录(先删s2,再删s1),当要删除的目录不是空目录时停止(s1不是空目录则停止) """ os.removedirs("s1/s2") # os.removedirs(os.path.join(os.getcwd(), "s1", "s2")) 和上面的一样,只不过使用了绝对路径
6.删除空目录 os.rmdir(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.rmdir(path) path不存在且不是空目录则报错 """ os.rmdir("s1/s2")
7.创建多级目录 os.makedirs(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.makedirs(path,exists_ok=False) 创建多级目录 如果path目录已存在则报错,可以设置exist_ok 参数来抑制错误,exist_ok不等于False就不会抛出异常 """ os.makedirs("s1/s3") os.makedirs("s1/s3", exist_ok=True)
二、os.path 常用方法
1.路径拼接 os.path.join(path1,path2…)
# coding:utf-8 import os if __name__ == "__main__": """ os.path.join(path1,path2......) 将多个路径拼接形成新的路径 """ print(os.path.join(os.getcwd(), "s1", "s2")) # G:\workSpace\py_d\s1\s2
2.路径分离 os.path.split(path) 返回tuple
# coding:utf-8 import os if __name__ == "__main__": """ os.path.split(path) 分割路径,返回一个tuple,由两个元素构成 第2个元素是path中最后一层的目录或者文件 第1个元素是path中除去第二个元素后剩余的路径,可以为空字符串 """ path = os.path.join(os.getcwd(), "s1", "s2") print(path) # G:\workSpace\py_d\s1\s2.my print(os.path.split(path)) # ("G:\\workSpace\\py_d\\s1", "s2.my") print(os.path.split("dir1")) # ("", "dir1")
3.判断是否是目录 os.path.isdir(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.path.is_dir(path) 判断路径是不是目录,当路径不存在也返回False """ print(os.path.isdir(os.getcwd())) # True print(os.path.isdir(os.path.join(os.getcwd(), "main.py"))) # False 这是文件 print(os.path.isdir("http://xxx.com")) # 不存在也返回False
4.判断是否是文件 os.path.isfile(paht)
# coding:utf-8 import os if __name__ == "__main__": """ os.path.is_file(path) 判断路径是不是文件,当路径不存在也返回False """ print(os.path.isfile(os.getcwd())) # False 这是目录 print(os.path.isfile(os.path.join(os.getcwd(), "main.py"))) # True 是文件 print(os.path.isfile(os.path.join(os.getcwd(), "abc"))) # False 不存在也返回False
5.判断路径是否存在 os.path.exists(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.path.exists(path) 判断路径是不是文件,当路径不存在也返回False """ print(os.path.exists(os.path.join(os.getcwd(), "main.py"))) # True main.py存在 print(os.path.exists(os.path.join(os.getcwd(), "abc.py"))) # False abc.py 不存在
6.判断路径是不是绝对路径 os.path.isabs(path)
# coding:utf-8 import os if __name__ == "__main__": """ os.path.abs(path) 判断路径是不是绝对路径,与存不存在无关 """ print(os.getcwd()) # G:\workSpace\py_d print(os.path.isabs(os.path.join(os.getcwd(), "main.py"))) # True main.py存在 print(os.path.isabs(os.path.join(os.getcwd(), "abc.py"))) # True abc.py不存在 print(os.path.isabs("a/b/c")) # False
到此这篇关于Python的os包与os.path模块详情的文章就介绍到这了,更多相关Python的os包和os.path模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
下一篇:Python的装饰器详情介绍
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?