os模块常用功能
os模块常用功能
import os #导入os模块
1.切换路径
d = os.getcwd() #获取当前的工作路径
os.chdir('D:\')#目录的切换
print(os.getcwd())
(切换过去怎么回来呢?再chdir一下就回来了)
os.chdir(d)
print(os.getcwd())
2.执行系统命令
system和popen都是执行系统命令的,但是popen比较好用,因为它有返回值
os.system('dir') #显示的是gbk的编码,
解决system乱码的方法
ret = os.popen('dir') #popen是有返回值的,而且自己转码了
print(ret.read())
3.创建文件夹和创建文件
os.mkdir('temp') #生成一个文件夹,,只能生成一个
os.mkdir(r'temp2\inner') #这样就报错了
os.makedirs(r'temp1\inner',exist_ok=True) #创建多级目录
os.makedirs(r'temp1\inner\inner2',exist_ok=True) #创建多级目录
那么如果文件夹已经存在了,就报错了,那我如果不想让报错(就是假如存在,就不创建也不报错),那么就加上exist_ok=True
创建文件
f = open(r'temp1\inner\file','w')
f.close()
4.重命名文件夹
os.rename(r'temp1\inner\inner2','temp1\inner\haiyan')
5.删除文件夹和删除文件
删除文件,
os.remove(r'temp1\inner\file')
删除文件夹
os.removedirs(r'temp1\inner\haiyan') #删除一个文件夹的时候,如果上一级的文件夹是空的,就一并删除了。以此类推
os.rmdir((r'temp1\inner') )#只删除一个文件夹
6.子目录
print(os.listdir(os.getcwd())) #打印当前目录下的目录
print(os.walk(os.getcwd())) #<generator object walk at 0x00000000021C6728>
ret = os.walk(os.getcwd()) #拿到的东西比较多,如果你关心子目录下的东西,就用walk
print(list(ret))
7.获取文件或者目录的信息的结构说明
print(os.stat('temp'))
st_atime:上次访问的时间
st_mtime:最后一次修改的时间
st_ctime:最新的更新时间
print(os.sep) # 打印的是
print(os.getcwd())
file_path = '%s%s%s'%(os.getcwd(),os.sep,'filename') #拼接一个路径(方式一)
print(file_path)
print(os.path.join(os.getcwd(),'filename'))#拼接一个路径(方式二)
8.字符串指示当前使用平台
print(os.name) #如果是win,则打印的是nt 如果是,linux,打印poxis
应用场景:当你输入命令的时候,要判断是win系统还是 linux系统。就可以用os.name去判断了
9.获取系统环境变量
print(os.environ)
10.路径相关的
print(os.path.abspath('namedtuple.py'))
print(os.path.dirname(os.path.abspath('namedtuple.py')))
print(os.path.dirname(os.path.dirname(os.path.abspath('namedtuple.py'))))
print(os.path.exists(os.path.abspath('namedtuple.py')))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能