首先要生成一个指向当前路径的对象,用一个点’.’指代当前路径。如果文件头用的是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( ): cwd是current 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是文件夹么?False,p.is_dir()为True。
q.is_file( ): q是文件么?True,p.is_file()则为False。
p.joinpath(‘Jeanette.txt’):路径连接,解决Mac和Windows路径连接符不同的问题。
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())