📂code
🔖python
2024-12-25 11:11阅读: 6评论: 0推荐: 0

[python] 对 pathlib.Path 实例进行排序.md

# from pathlib.py; 省略了不相关部分

class _WindowsFlavour(_Flavour):
    def casefold(self, s):
        return s.lower()

    def casefold_parts(self, parts):
        return [p.lower() for p in parts]


class _PosixFlavour(_Flavour):
    def casefold(self, s):
        return s

    def casefold_parts(self, parts):
        return parts


class PurePath(object):
  @property
  def _cparts(self):
      # Cached casefolded parts, for hashing and comparison
      try:
        return self._cached_cparts
      except AttributeError:
        self._cached_cparts = self._flavour.casefold_parts(self._parts)
        return self._cached_cparts

  def __lt__(self, other):
    if not isinstance(other, PurePath) or self._flavour is not other._flavour:
      return NotImplemented
    return self._cparts < other._cparts


  @property
  def parts(self):
    """An object providing sequence-like access to the
    components in the filesystem path."""
    # We cache the tuple to avoid building a new one each time .parts
    # is accessed.  XXX is this necessary?
    try:
      return self._pparts
    except AttributeError:
      self._pparts = tuple(self._parts)
      return self._pparts

Path序列进行排序时,Path会将路径按分隔符切分成序列,然后逐元素进行对比,具体来说是在字符首次不相等的时候返回比较结果。
但两个平台下对路径理解不同,windows不考虑路径中字母大小写,因而在排序时会得到与linux下不同的结果。

——> Path.as_posix() 再进行排序

本文作者:心有所向,日复一日,必有精进

本文链接:https://www.cnblogs.com/Stareven233/p/18629974

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   NoNoe  阅读(6)  评论(0编辑  收藏  举报
历史上的今天:
2022-12-25 [论文阅读] SE-GAN Skeleton Enhanced GAN-based Model for Brush Handwriting Font Generation
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 Relaxロウきゅーぶ 渡辺剛
  2. 2 カントリーマーチ 栗コーダーカルテット
  3. 3 BGM-M7 かみむら周平
  4. 4 八百万の風が吹く Foxtail-Grass Studio
  5. 5 雲流れ Foxtail-Grass Studio
  6. 6 Melody 梶浦由記
  7. 7 ロック风アレンジ Angel Beats
  8. 8 ヨスガノソラ メインテーマ -遠い空へ- Bruno Wen-li
  9. 9 Servante du feu Matthieu Ladouce
  10. 10 Lost my pieces (Piano Ver.) 橋本由香利
  11. 11 潮鳴り 折戸伸治
  12. 12 雪風 Foxtail-Grass Studio
  13. 13 Bloom of Youth 清水淳一
  14. 14 落月随山隐 饭碗的彼岸,夜莺与玫瑰
  15. 15 Autumn Journey Eric Chiryoku
  16. 16 Alpha C418
  17. 17 Money之歌 神楽Mea
カントリーマーチ - 栗コーダーカルテット
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

暂无歌词