2019-03-04 Python pathlib介绍(持续完善中)

三种操作系统windows、Mac 和 Linux

不同的操作系统,文件连接所用正反斜线是不一致的。

Windows filenames:
C:\some_folder\some_file.txt

Most other operating systems:
/some_folder/some_file.txt

三种不同的拼接路径的方式

  • 手动拼接
data_folder = "source_data/text_files/"

file_to_open = data_folder + "raw_data.txt"

f = open(file_to_open)

print(f.read())

这样写,你不能让每个操作系统都能顺利执行。

  • os.path 模块
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())

此代码可以在各个平台顺利运行,但是反复使用os.path.join很啰嗦

  • pathlib模块(Python3的标准支持)
    python3.4+ 都自带标准库pathlib,所以不需要再通过pip3 安装
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())

不用open读文件 file.read_text()

from pathlib import Path

data_folder = Path("source_data/text_files/")

file_to_open = data_folder / "raw_data.txt"

print(file_to_open.read_text())

文件及路径操作

from pathlib import Path

filename = Path("source_data/text_files/raw_data.txt")

print(filename.name)
# prints "raw_data.txt"

print(filename.suffix)
# prints "txt"

print(filename.stem)
# prints "raw_data"

if not filename.exists():
    print("Oops, file doesn't exist!")
else:
    print("Yay, the file exists!")

参考资料
https://zhuanlan.zhihu.com/p/33524938

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、目录遍历 os 用于获取系统的功能,主要用于操作文件或者文件夹代码演示:import ospath = r...
    hollow_02f9阅读 1,575评论 0 0
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,937评论 0 27
  • 【朋朋日历】 2018年 12月17日 星期一 第51周 狗年 冬月十一 戊戌年 甲子月 癸未日 ********...
    刘书朋阅读 135评论 0 1
  • 今天体验,今天对进厂车辆进行维修历史查询,查了二次都没有历史记录,昨天也有一台没有查到,经查是登记 入电脑的时候入...
    王全峰阅读 153评论 0 0
  • 也不知道从何写起! 年复一年情绪的积累终于到了今天的局面,两个人躺在床上可以各自玩手机一言不发,气氛...
    doublewei阅读 165评论 0 1