*os.path模块*
os.path模块包含了许多与文件名和文件路劲相关的有用函数。
os.path模块的完整文档在
https://docs.python.org/3/library/os.path.html
Windows上的倒斜杠以及os x 和Linux 上的正斜杠
在Windows上运行os.path.join()函数
返回’user\bin\spam’ 请注意,倒斜杠有两个,因为每个倒斜杠需要由另一个倒斜杠字符来转义)。如果在OS X 或Linux 上调用这个函数,该字符串就会是’user/bin/spam’。
创建文件名称的字符串,os.path.join()函数就会很有用
当前工作目录
os.getcwd()函数可以取得当前工作路劲的字符串
os.chdir()改变它
如果要更改当前工作目录不存在,python就会报错。
注意: 当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。
绝对路径与相对路径
‘绝对路径’,总是从根文件夹开始
‘相对路劲’,它相对于程序的当前工作目录。
用os.makedirs()创建新文件夹
osmakedirs()将创建所有必要的中间文件夹,目的确保完整路径名存在
*处理绝对路劲*
os.path.abspath()
将返回参数的绝对路径的字符串。这将相对路径转换为绝对路径的更简单方法。
os.path.isabs(),如果参数是一个绝对路径,就返回True,如果参数是一个相对路径,就返回False。
//文件夹和文件可能与我的不同,尝试用你计算机上存在的文件夹来完成
os.path.relpath()将返回从start路径到path的相对路径的字符串,如果没有提供start,就使用当前工作目录为开始路径。
os.path.dirname() 将返回一个字符串,它包含path参数中最后一个斜杠之前的所有内容。
os.path.basename() 将返回一个字符串,它包含path参数中最后一个斜杠之后的所有内容。
os.path.split() 获取得这俩个字符串的元组
可以调用os.path.dirname()和os.path.basename(),将它们的返回值放在一个元组中从而得到同样的元组。
os.path.split()不会接受一个文件路径并返回每个文件夹的字符串的列表。
使用split()字符串方法,并根据os.path.sep中的字符串进行分割。
查看文件大小和文件夹内容
os.path.getsize() 将返回patn参数中文件的字节数。
os.path.listdir() 将返回文件名字符串的列表。
如果想知道这个目录下所有文件的总字节数,就可以同时使用os.path.getsize()
和os.listdir()。
//注意使用了 os.path.join()来连接文件夹名称和当前的文件名。
检查路径有效性
如果path参数所知的文件或文件夹存在,os.path.exists() 将返回True,否则返回False。
如果path参数存在,并且是一个文件,os.path.isfile() 将返回True,否则返回False。
如果path参数存在,并且是一个文件夹,os.path.isdir() 将返回True,否则返回False。
文件读写过程
python3中,读写文件有3个步骤:
- 调用open()函数,返回一个File对象。
- 调用File对象的read()或write()方法。
- 调用File对象的close()方法,关闭该文件。
用open()函数打开文件
先创建一个hello.txt文件,读模式是默认的模式,如果不希望依赖于python的默认方式,可以明确指出该模式,向open()传入字符’r’,作为第二个参数。