只是想知道有多少人在 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(使用前将#替换为@)