老方法:Python的os.path模块
Python的os.path模块提供了很多有用的工具以帮助我们处理这些面向特定操作系统的文件系统问题。
你可以用os.path.join()函数来针对当前操作系统正确地使用斜杠来构建路径:
import os.path data_folder = os.path.join("source_data", "text_files") file_to_open = os.path.join(data_folder, "raw_data.txt") f = open(file_to_open) print(f.read())
上面的代码在Windows和Mac都能有效工作——但问题就是用起来很让人头大。每次调用os.path.join()把路径中的每一部分作为一个独立的字符串参数传进去的办法实在太麻烦了。
因为os.path模块的大部分函数都像os.path.join()这样笨拙,Python开发者们经常就懒得用这些工具,结果写了一堆跨平台bug,还惹恼了一群用户。
新方法:Python 3 的 pathlib!
Python 3.4 引入了一个用于处理文件和路径的新标准库——pathlib,而且很好用!
要用pathlib,只要新建一个Path()对象并传入使用正斜杠的路径或文件名,剩下的pathlib都帮你搞定:
from pathlib import Path data_folder = Path("source_data/text_files/") file_to_open = data_folder / "raw_data.txt" f = open(file_to_open) print(f.read())
请注意两点:
在pathlib中请直接用正斜杠(“/”)。Path对象可以将正斜杠转换成当前操作系统应该使用的正确斜杠。Nice!
如果想在某个Path对象后添加内容,只要在代码里使用“/”操作符(也就是除号!?)。跟一遍又一遍地敲os.path.join(a, b)的日子说拜拜吧!
以上就是Python处理文件路径的方法。更多Python学习推荐:PyThon学习网教学中心。