Python 人们使用哪个路径模块或类来代替 os.path?

2024-02-04

只是想知道有多少人在 Python 中使用路径模块,例如 Jason Orendorff 的路径模块,而不是使用os.path用于连接和分割路径?您是否使用过:

  • Jason 的路径模块 http://wiki.python.org/moin/PathModule(针对 PEP 355 进行了更新)
  • 迈克·奥尔的 Unipath http://sluggo.scrapping.cc/python/unipath/Unipath-current/README.html,基本上是上面的更现代的版本
  • 诺姆拉斐尔的替代路径模块 http://wiki.python.org/moin/AlternativePathModule子类化 tuple 而不是 str

我知道杰森的路径模块被做成PEP 355 http://www.python.org/dev/peps/pep-0355/并被 BDFL 拒绝。这似乎主要是因为它试图在一个班级中完成所有事情。

我们的用例主要是简化路径的连接和拆分组件,因此如果这样的路径类仅实现拆分/连接类型的操作,我们会非常高兴。谁不想这样做:

path(build_dir, path(source_file).name)

or this:

build_dir / path(source_file).name

而不是这个:

os.path.join(build_dir, os.path.basename(source_file))

我可以毫不犹豫地拿起一个Python程序并解释当前的标准方法——它是明确的并且没有歧义:

os.path.join(build_dir, os.path.basename(source_file))

Python 的动态类型使得第一种方法在阅读时相当难以理解:

build_dir / path(source_file).name

另外,分割字符串并不常见,这会带来更多混乱。我怎么知道这两个不是整数?还是漂浮?如果两者最终都是非字符串类型,则在运行时不会收到 TypeError。

Finally,

path(build_dir, path(source_file).name)

这比 os.path 方法更好吗?

虽然它们可能会“简化”编码(即,使其更易于编写),但如果不熟悉替代模块的其他人需要维护代码,您将会遇到冲突。

所以我想我的答案是:我不使用替代路径模块。 os.path 已经拥有我需要的一切,而且它的界面也不错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 人们使用哪个路径模块或类来代替 os.path? 的相关文章

随机推荐

  • 错误:verifier._reset 不是函数。当尝试使用 firebase 使用手机登录时,请反应本机和 Expo

    我正在尝试在我的反应本机应用程序中实现电话登录 但出现以下错误 verifier reset is not a function In verifier reset verifier reset is undefined at http 1
  • VSCode jsconfig.json 给出 ts 错误指定用于编译的根文件

    我已经在 stackoverflow 上寻找答案了jsconfig json 给出 ts 错误 https stackoverflow com questions 66868663 jsconfig json gives ts errors
  • 使用“expo build:android”构建 Android 应用程序后出现“应用程序未安装”错误

    我跑后expo build android我成功构建了 apk 文件 但是当我尝试在许多设备上安装它时 它没有被安装 并且显示 应用程序未安装 错误 image https res cloudinary com dqueufbs7 imag
  • 覆盖android中的文件删除

    是否可以重写 File delete 函数 每当我从其他应用程序 不由我的应用程序使用 删除 SD 卡中的任何文件时 我需要一个通知 例如该文件将被删除 我尝试过的示例代码片段是 public class ExtendFile extend
  • 主线程和UI线程一样吗?

    Android 文档说 与活动和其他组件一样 服务在应用程序进程的主线程中运行 这里的主线程和UI线程是同一个东西吗 看起来是这样 引自http android developers blogspot com 2009 05 painles
  • 在列中显示 php-cli 输出

    我想在 php cli 脚本的列中输出可变长度的数据 Example pepole Array Mirco Dellarovere gt Artista Nino Pepe gt Attore Zoe Yan gt Futurista Mi
  • 我在 GitHub 上的目录发生了什么?

    我在 git 存储库中添加了一个新的子目录 git add feeds 然后提交了这个并将其推送到 GitHub 但似乎我提交了一个符号链接 快捷方式 但没有提交其中的实际目录和文件 看这里 http github com G4EGK RS
  • 在 Core Data 中按属性获取对象

    在我的 iPhone 项目中 我想编写一个函数来检查我的 Core Data ManagedObjectContext 中是否存在具有特定属性给定值的对象 例如some property 如果已经有一个对象some property 12
  • 使用 pci_enable_msi_block

    我正在尝试在内核模块中启用多个 MSI irq 线 我正在 RC 模式下操作 问题是当我打电话时pci enable msi block 它不会分配超过 1 个 MSI 如果我打电话pci enable msi block dev 32 它
  • 为什么绑定不能与转换一起使用

    我有一个Circle和它的centerX财产绑定到text标签的属性 这是为了查看屏幕上对象的位置 每当我在圆圈上应用过渡时 绑定似乎就会停止工作 这是代码片段 ERRONEOUS PART OF CODE Circle circle ne
  • “系列对象是可变的,无法进行散列”错误

    我正在尝试让以下脚本正常工作 输入文件由 3 列组成 基因关联类型 基因名称和疾病名称 cols Gene type Gene name Disorder name no headers pd read csv orphanet infon
  • Rspec - 将输出格式化为进度/文档/HTML

    使用 Rspec 我希望能够看到标准进度条 and输出到包含生成的文档格式规格表的文件 and还生成了一个 html 文件 无需多次运行测试 如何分配多种格式以及这些格式的文件目标 我想出了如何做到这一点 您可以将以下内容添加到您的 rsp
  • Crosswalk WebView 中启用了 Chrome 的流量节省功能吗?

    在 Chrome 版本 45 0 2454 85 中 开发人员工具在窗口顶部显示黄色警告 并显示文本 考虑禁用Chrome 数据保护程序 https support google com chrome answer 2392284 hl e
  • 在 OSX 上安装了 GNU grep,但无法使用

    我尝试在 OSX 上安装 GNU grep 它似乎已安装 但我无法使用它 我已经使用自制程序完成了此操作 Macports 目前遇到了一些问题 所以我无法使用它 安装 brew tap homebrew dupes brew install
  • tomcat-dbcp 与 commons-dbcp

    这两个连接池库之间似乎存在很多混淆 我想知道哪一个更好 如果有的话 以下是我想提出的一些要点 有人可以验证吗 Tomcat DBCP 使用默认的 tomcat dbcp jar 该jar 将出现在 tomcat lib 目录中 你do no
  • 如何重新启动我自己的qt应用程序?

    我只是问自己如何重新启动我自己的qt应用程序 有人可以给我举个例子吗 要重新启动应用程序 请尝试 include
  • Matplotlib Savefig 不会覆盖旧文件

    这看起来一定是我的机器上的权限问题 在 Windows 10 上进行系统更新后 当我运行 import matplotlib pyplot as plt make figure plt plot 1 2 3 4 plt ylabel som
  • python 处理无尽的 XML

    我正在开发一个应用程序 我的工作只是为该应用程序开发一个示例 Python 接口 应用程序可以提供基于XML的文档 我可以通过HTTP Get方法获取文档 但问题是基于XML的文档是无限的 这意味着不会有结束元素 我知道文件应该由SAX来处
  • 在 JSX 中拥有变量属性的最佳方式是什么?

    希望我的问题很清楚 我主要是在寻找一种将属性动态附加到 JSX 输入的方法
  • Python 人们使用哪个路径模块或类来代替 os.path?

    只是想知道有多少人在 Python 中使用路径模块 例如 Jason Orendorff 的路径模块 而不是使用os path用于连接和分割路径 您是否使用过 Jason 的路径模块 http wiki python org moin Pa