-
前提条件
- 今自分がいるディレクトリは以下とする
- /aaa/bbb/imakokoniiruyo/
- ファイルの実行場所は以下とする
- /ccc/ddd/jikkoufairudayo.py
- 今自分がいるディレクトリは以下とする
-
インポート
import os
- 現在の作業ディレクトリを取得
- これはファイルの場所ではなく、現在自分がいるディレクトリを出力する
os.getcwd()
print(os.getcwd())
# /aaa/bbb/imakokoniiruyo/
- 実行中のファイルの場所を取得
print(__file__)
# /ccc/ddd/jikkoufairudayo.py
- 実行中のファイルのディレクトリを取得
- os.path.dirname()を使う
- 最後のスラッシュはつかない
- os.path.dirname()を使う
print(os.path.dirname(__file__))
# /ccc/ddd
- 実行中のファイルのファイル名(最後のスラッシュ以下)を取得
- os.path.basename()を使う
- 頭にスラッシュはつかない
- os.path.basename()を使う
print(os.path.basename(__file__))
# jikkoufairudayo.py
- 上記メソッドはカレントディレクトリからの相対パスを表示している
- 絶対パスで表示したいなら
- os.path.abspath()を使う
- これは本番環境でも有効
print(os.path.abspath(__file__))
# /ccc/ddd
- 現在実行中のファイルがいるディレクトリに移動したいなら
- os.chdir()を使う
print(os.getcwd())
# /aaa/bbb/imakokoniiruyo/
os.chdir(os.path.dirname(os.path.abspath(__file__)))
print(os.getcwd())
# /ccc/ddd