2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonのos.path.joinについてざっくりまとめる

Posted at

本日のお題

本日のお題はpythonのos.path.joinです。

このコードは、パスを繋げて新しいパスを生成する役割を持っています。

djangoを学習していたところcssファイルの読み込み経路の設定でこのos.path.joinの知識が出てきたので、備忘録として残しておきます。

目次

  • os.path.joinの文型
  • 注意点1〜リスト型のパスの結合
  • 注意点2〜/を含むパスについて

os.path.joinの文型

os.path.joinの基本構文及び具体的な使用例は以下の通りです。
また、osモジュールはimportが必要です。

# import
import os

# 基本構文
os.path.join("パス1", "パス2")

# 具体例
path = os.path.join( ("main", "project1/test1")

以下の例では、pathという変数に"main/project1/test1というパスが代入されています。

第一引数の下流に第二引数が連結されることに注意してください。

注意点1〜リスト型のパスの結合

リスト型のパスを結合する場合には、以下のように記述します。

list = ["main", "project1", "test1"]
path = os.path.join(*list)

注意点2〜/を含むパスについて

os.path.joinには、"/main"などの先頭に/を含むパスをルートパスとして解釈してしまう、という性質があります。

これはなんとなく分かりますね。
ターミナルでのパス表記もルートディレクトリは/で表されているので。

/で始まるパスを結合した場合の具体例は以下になります。

path = os.path.join("/main", "/project1", "/test1")

print(path) #結果:"/test1"

このような場合はreplaceメソッドを用いて/を取り除いてあげることで、意図した通りのパスを取得できるようになります。

list = ["/main", "/project", "/test"]
list = [dir.replace("/", "") for dir in list] # for inを用いて要素の/を全て削除
path = os.path.join(*list)

終わりに

以上がos.path.joinの使い方になります。
次回はこれを用いてcssファイル・画像ファイルの配置を指定していきます。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?