Skip to main content

python memo パスのうしろの / を取り除く

py
os.path.normpath(path)

でうしろのスラッシュは削られる。

または、rstrip('/') でも良いが、normpath() のほうがパス用に考えられてるので、
パス関連なら normpath() を使うと良い

  • 'a/./b' → 'a/b'
  • 'a//b' → 'a/b' ← 複数回 '/' のケース
  • 'a/b/../c/ → 'a/c' ← 相対パスを何も考えずつなげたケース
  • '/' → '/' ← カラにはしない

ちなみに、直接関係ない話だが、
rstrip の引数は取り除く「文字列」ではなく「文字セット」を表しているので、拡張子取り除く目的で使わないこと。

py
rstrip('.md') # これはだめ。 'simd.md' → 'si' になっちゃう

以下広告