Python--os的常见方法
1、os.getcwd()+'/filename'------>相当于在当前运行文件的目录下创建一个以filename命名的文件
2、os.path.realpath(__file__)------>获取当前文件路径(C:\Users\admin\PycharmProjects\test_case\test_unitest.py)---->__file__表示的是当前文件---->这个精确到.py文件
3、os.path.dirname(__file__)------>获取当前文件的上级目录(C:\Users\admin\PycharmProjects\test_case)----->到.py文件的上一级文件夹
4、
1 import os; 2 print(os.path.realpath(__file__));
3、os.rename('要修改名字的文件地址','名称修改后');
问题:我将当前py文件修改名称后,py文件变为text类型了
4、获取地址路径名和获取指定文件名
1 #path.basename:某地址下,只获取文件名称 2 aa=os.path.basename(os.path.realpath(__file__)); 3 bb=os.path.basename(r'D:\Users\4399-3046\Desktop\test.txt'); 4 print(aa);#---->test_index_2.py 5 print(bb);#----->test.txt 6 7 #path.dirname:只获取地址路径,不获取文件 8 cc=os.path.dirname(os.path.realpath(__file__)) 9 dd=os.path.dirname(r'D:\Users\4399-3046\Desktop\test.txt'); 10 print(cc);#---->C:\Users\4399-3046\PycharmProjects\test_case 11 print(dd);#----->D:\Users\4399-3046\Desktop
3、os的其他常用用法
os.path.exists():判断文件或目录是否存在
if(os.path.exists(os.path.dirname(__file__))): print('存在'); else: print('不存在');
os.path.isfile():判断是否是文件
os.path.isdir():判断是否是目录
os.path.dirname():获取当前文件所在的目录,即父目录
os.makedirs():创建多级目录
os.mkdir():创建单级目录
os.path.getsize():获取文件大小
4、因为找到path,可能还需要判断是否为文件还是文件夹,有可能还需要对文件进行读写
此处,对于文件的相关操作,可以使用python3的一个内建模块:pip install pathlib,会更简单
使用方法可参考:https://www.cnblogs.com/sigai/p/8074329.html
基本用法: Path.iterdir() #遍历目录的子目录或者文件 Path.is_dir() #判断是否是目录 Path.glob() #过滤目录(返回生成器) Path.resolve() #返回绝对路径 / # 拼接路径(目录中进行导航-官网说法) Path.exists() #判断路径是否存在 Path.open() #打开文件(支持with) Path.unlink() #删除文件或目录(目录非空触发异常) 基本属性: Path.parts #分割路径 类似os.path.split(), 不过返回元组 Path.drive #返回驱动器名称 Path.root #返回路径的根目录 Path.anchor #自动判断返回drive或root Path.parents #返回所有上级目录的列表 改变路径: Path.with_name() #更改路径名称, 更改最后一级路径名 Path.with_suffix() #更改路径后缀 / #拼接路径 Path.joinpath() #拼接路径 Path.relative_to() #计算相对路径 测试路径: Path.match() #测试路径是否符合pattern Path.is_dir() #是否是文件 Path.is_absolute() #是否是绝对路径 Path.is_reserved() #是否是预留路径 Path.exists() #判断路径是否真实存在 其他方法: Path.cwd() #返回当前目录的路径对象 Path.home() #返回当前用户的home路径对象 Path.stat() #返回路径信息, 同os.stat() Path.chmod() #更改路径权限, 类似os.chmod() Path.expanduser() #展开~返回完整路径对象 Path.mkdir() #创建目录 Path.rename() #重命名路径 Path.rglob() #递归遍历所有子目录的文件