Python--os的常见方法

1、os.getcwd()+'/filename'------>相当于在当前运行文件的目录下创建一个以filename命名的文件

2、os.path.realpath(__file__)------>获取当前文件路径(C:UsersadminPycharmProjects est_case est_unitest.py)---->__file__表示的是当前文件---->这个精确到.py文件

3、os.path.dirname(__file__)------>获取当前文件的上级目录(C:UsersadminPycharmProjects est_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:Users4399-3046Desktop	est.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:Users4399-3046Desktop	est.txt');
10 print(cc);#---->C:Users4399-3046PycharmProjects	est_case
11 print(dd);#----->D:Users4399-3046Desktop

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()  #递归遍历所有子目录的文件
原文地址:https://www.cnblogs.com/shenyexiaoqingxin/p/10430497.html