python学习笔记(22)-os文件操作模块
疑问:
如果打开操作一个文件,是用绝对路径好还是相对路径好?
os模块,在lib下面,可以直接引入的,直接使用import。
一、新建一个目录,新建一个文件夹
import os
#新建一个文件夹
os.mkdir("wuzm")
#跨级新建目录,用 / 符号代表路径的不同层级,必须确保上面的层级是存在的。
os.mkdir("wuzm/lyn") # 相对路径
os.mkdir("D:\\test_python") #决对路径 \转义字符,\t制表符。我们可以通过\或者前面加r或R使转义字符失效。
二、删除
os.rmdir("wuzm/lyn") #删除文件也是一级一级的删除,不推荐一次性删除
os.remove("wuzm/lyn") #如果wuzm下面有lyn,则不能只删除wuzm这个文件
#拓展:1、python是否可强制性删除
# 2、怎么去新建文件,open可新建,如何删除文件
三、路径的获取
路径的获取1 :获取当前工作目录,具体到最后一级目录
path = os.getcwd()
print("获取到的当前路径是:{0}".format(path))
#路径的获取2 :获取当前文件所在的绝对路径,具体到模块名
path_2= os.path.realpath(__file__) #__file__静态变量,标识模块本身
print("获取到的当前路径是:{0}".format(path_2))
'''输出:
获取到的当前路径是:E:\柠檬班第一周
获取到的当前路径是:E:\柠檬班第一周\lianxi.py'''
四、如何拼接路径
#方法一:
new_path_1 = os.getcwd()+"\pathon1" #拼接一个路径,需要加一个\
print(new_path_1)
os.mkdir(new_path_1) #新建一个这个路径
#方法二:
#new_path_2 = os.path.join(os.getcwd(),"python666\sub1")
new_path_2 = os.path.join(os.getcwd(),"python666","sub1") #这里是不定长参数,不能跨级新建,前面的路径必须存在
print(new_path_2)
os.mkdir(new_path_2)
五、判断是文件还是目录,是bool值
print(os.path.isfile(__file__)) #True
print(os.path.isfile(os.getcwd())) #False 判断是文件
print(os.path.isdir(os.getcwd())) #True 判断是路径,目录
#怎么判断文件是否存在呢?返回的也是bool值
print(os.path.exists('E:\柠檬班第一周\\add.py'))
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)