用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用。
<强> 1。调用库强>
从pathlib进口
<强> 2。创建路径对象强>
p=路径(“D: 1./python/py”) 打印(p) #可以这么使用,相当于os.path.join () p1=路径(D:/python) p2=p1/?23’ 打印(p2) >之前结果
py python D: \ \ 1. 123 D: \ python \<强> 3. path.cwd() 强>
获取当前路径
路径=Path.cwd () 打印(路径)结果:
D: \ python<强> 4. path.stat() 强>
获取当前文件的信息
p=路径(“1. py”) print (p.stat ())结果
操作系统。stat_result (st_mode=33206, st_ino=8444249301448143, st_dev=2561774433, st_nlink=1, st_uid=0, st_gid=0, st_size=4, st_atime=1525926554, st_mtime=1525926554, st_ctime=1525926554)<强> 5. path.exists() 强>
判断当前路径是否是文件或者文件夹
在在在路径(' . ').exists () 真正的 在在在路径(1. py) .exists () 真正的 在在在路径(2. py) .exists () 假<强> 6. path.glob(模式)与Path.rglob(模式)强>
Path.glob(模式):获取路径下的所有符合模式的文件,返回一个发电机
目录下的文件如下:
以下是获取该目录下所有py文件的路径:
路径=Path.cwd () py=path.glob (* . py) # py是经过产量产生的迭代器 在py py: 打印(py)结果:
py python C: \ \ 1. py python C: \ \ 11. py python C: \ \ 1111. python C: \ \ 11111. pyPath.rglob(模式):与上面类似,只不过是返回路径中所有子文件夹的符合模式的文件。
<强> 7. path.is_dir()与Path.is_file() 强>
Path.is_dir()判断该路径是否是文件夹 Path.is_file()判断该路径是否是文件 print (p1:) p1=路径(D:/python) print (p1.is_dir ()) print (p1.is_file ()) print (p2:) p2=路径(“D: 1./python/py”) print (p2.is_dir ()) print (p2.is_file ()) #当路径不存在时也会返回意见 打印('错误的路径:') print(路径(D:/NoneExistsPath) .is_dir ()) print(路径(D:/NoneExistsPath) .is_file ()) >之前结果
p1: 真正的 假 p2: 假 真正的 错误的路径: 假 假<强> 8. path.iterdir() 强>
当路径为文件夹时,通过产量产生路径文件夹下的所有文件,文件夹路径的迭代器
p=Path.cwd () 因为我在p.iterdir (): 打印(i)结果
py python D: \ \ 1. py python D: \ \ 11. py python D: \ \ 1111. py python D: \ \ 11111. D: \ python \ dir<强> 9. path.mkdir(模式=0 o777,父母=意见)强>
根据路径创建文件夹
父母=True时,会依次创建路径中间缺少的文件夹
p_new=p/皀ew_dir” p_new.mkdir () p_news=p/' new_dirs/new_dir ' p_news.mkdir(父母=True) >之前结果
<强> 10.的道路。开放(模式=畆’,缓冲=1,编码=没有错误=没有换行符=None) 强>
类似于open()函数
<强> 11. path.rename(目标)强>
当目标是字符串时,重命名文件或文件夹
当目标是路径时,重命名并移动文件或文件夹
p1=路径(“1. py”) p1.rename (“new_name.py”) p2=路径(“11. py”) 目标=路径(“new_dir/new_name.py”) p2.rename(目标)对python3中pathlib库的路径类的使用详解