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、
import os;
print(os.path.realpath(__file__));
3、os.rename('要修改名字的文件地址','名称修改后');
问题:我将当前py文件修改名称后,py文件变为text类型了 4、获取地址路径名和获取指定文件名
#path.basename:某地址下,只获取文件名称
aa=os.path.basename(os.path.realpath(__file__));
bb=os.path.basename(r'D:\Users\4399-3046\Desktop\test.txt');
print(aa);#---->test_index_2.py
print(bb);#----->test.txt #path.dirname:只获取地址路径,不获取文件
cc=os.path.dirname(os.path.realpath(__file__))
dd=os.path.dirname(r'D:\Users\4399-3046\Desktop\test.txt');
print(cc);#---->C:\Users\4399-3046\PycharmProjects\test_case
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() #递归遍历所有子目录的文件