pathlib管理路径和文件夹

首先要生成一个指向当前路径的对象,用一个点’.’指代当前路径。如果文件头用的是import pathlib,那么这里就要这么写:

p = pathlib.Path('.')

如果用的from pathlib import Path,程序应用Path时可以省略前缀pathlib.。生成当前文件夹的路径对象可以写成: 

p = Path('.')

 p现在指向当前文件夹,从p出发生成指向当前文件夹下的Jeanette.txt文件的路径对象q,可以从以下三条语句任选一条实现目的:

 q = p / 'Jeanette.txt'

或者

q = Path('./Jeanette.txt')

或者

q = p.joinpath('Jeanette.txt') 

p指向当前文件夹,q指向当前文件夹下的Jeanette.txt文件。

列出路径对象几个比较常用的属性和方法函数:

p.cwd( ) q.cwd( ):    cwdcurrent working directory的简写,返回指向代码所在路径的路径对象,所以p.cwd()q.cwd()返回结果是同一个路径对象,都指                                 向代码文件的所在路径。

p.absolute( )              返回p的绝对路径。

p.parent                    返回p所指向路径的父目录。

q.name                      文件名 + 扩展名(Jeanette.txt)。

q.stem                       文件名(Jeanette)。

q.suffix                      扩展名(.txt)。

q.exists( )                  q存在么?存在的话则为True,不存在为False

q.is_dir( )                   q是文件夹么?Falsep.is_dir()True

q.is_file( )                  q是文件么?Truep.is_file()则为False

p.joinpath(‘Jeanette.txt’):路径连接,解决MacWindows路径连接符不同的问题。

p.write_text(字符串, encoding=None):将字符串写入p指向的文本文件,如果含有中文字符就指定参数encoding=’utf-8’

p.read_text(encoding=None);返回p指向的文本文件里的内容子串。

 

以下代码在当前文件夹下生成悟空传.txt,写入指定内容,然后将文件内容输出:

source = Path('./悟空传.txt')

source.write_text('我要这天,再遮不住我眼;要这地,再埋不了我心;要这众生,都明白我意;要那诸佛,都烟消云散!', encoding='utf-8')

print(source.read_text(encoding='utf-8'))

当然也可以先用合适模式打开文件生成文件对象后再操作,比如下面的代码往悟空传.txt添加了一句后输出文件内容:

source = Path(‘./悟空传.txt')

source.open('a').write('\n我若成佛,天下无魔,我若成魔,佛奈我何')

print(source.open(‘r’).read())