服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

再使用这些 Python 库,你就OUT咯!

日期: 来源:Python架构师收集编辑:点击关注


随着每个 Python 版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧 Python 库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性了。


Pathlib 而不是 OS


pathlib 绝对是 Python 标准库中最近添加的更大的内容之一, 自 Python 3.4 以来,它一直是标准库的一部分,但很多人仍然使用 os 模块进行文件系统操作。


然而,pathlib 与旧的 os.path 相比具有许多优点 - 虽然 os 模块以原始字符串格式表示路径,但 pathlib 使用面向对象的样式,这使得它更具可读性和编写自然:


from pathlib import Pathimport os.path
# 老方式two_dirs_up = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# 新方式,可读性强two_dirs_up = Path(__file__).resolve().parent.parent


路径被视为对象而不是字符串这一事实也使得可以创建一次对象,然后查找其属性或对其进行操作:

readme = Path("README.md").resolve()
print(f"Absolute path: {readme.absolute()}")# Absolute path: /home/martin/some/path/README.mdprint(f"File name: {readme.name}")# File name: README.mdprint(f"Path root: {readme.root}")# Path root: /print(f"Parent directory: {readme.parent}")# Parent directory: /home/martin/some/pathprint(f"File extension: {readme.suffix}")# File extension: .mdprint(f"Is it absolute: {readme.is_absolute()}")# Is it absolute: True


我最喜欢 pathlib 的一个特性是可以使用 /(“除法”)运算符来连接路径:

# Operators:etc = Path('/etc')
joined = etc / "cron.d" / "anacron"print(f"Exists? - {joined.exists()}")# Exists? - True


重要的是要注意 pathlib 只是替代 os.path 而不是整个 os 模块, 它还包括 glob 模块的功能,因此如果你习惯于将 os.path 与 glob.glob 结合使用,那么你可以完全用pathlib替代它们。


相关阅读

  • 海淀6处疏堵工程完工!都在哪→

  • 为缓解海淀区局部道路交通拥堵、改善市民出行条件,围绕“慢行优先、公交优先、绿色优先”,聚焦常发堵点,近期,区城市管理委(交通委)统筹,相关部门及属地协同配合,组织实施了6处疏堵
  • 睡觉了,晚安

  • ↑↑↑点击上方蓝字即可关注每天19点推送内容,记得准时查收哦
  • 表情包:感情淡了

  • ↑↑↑点击上方蓝字即可关注每天19点推送内容,记得准时查收哦

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 再使用这些 Python 库,你就OUT咯!

  • 随着每个 Python 版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧 Python 库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性
  • 【Python教程】运算符

  • 运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。Python语言支持以下类型的运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符三目运