[解決済み] 現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか?
2022-03-18 13:21:01
質問
現在のファイルのディレクトリパスを取得したい。 試してみました。
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
しかし、ディレクトリのパスはどのように取得すればよいのでしょうか?
例えば
'C:\\python27\\'
解決方法は?
特殊変数
__file__
には、現在のファイルへのパスが含まれています。そこからディレクトリを得るには、次のいずれかを使用します。
パスリブ
または
os.path
モジュールを使用します。
Python 3
実行中のスクリプトのディレクトリに対して。
import pathlib
pathlib.Path(__file__).parent.resolve()
現在の作業ディレクトリの場合。
import pathlib
pathlib.Path().resolve()
Python 2と3
実行中のスクリプトのディレクトリに対して。
import os
os.path.dirname(os.path.abspath(__file__))
現在の作業ディレクトリを意味する場合。
import os
os.path.abspath(os.getcwd())
の前後にあることに注意してください。
file
はアンダースコアが1つではなく2つです。
また、インタラクティブに実行している場合や、ファイル以外のもの(例:データベースやオンラインリソース)からコードを読み込んだ場合にも注意してください。
__file__
は設定されないかもしれません。なぜなら、quot;current file" という概念がないからです。上記の答えは、ファイルの中にある Python スクリプトを実行するという最も一般的なシナリオを想定しています。
参考文献
- パスリブ をpythonのドキュメントに追加しました。
- os.path - Python 2.7 , os.path - Python 3
- os.getcwd - Python 2.7 , os.getcwd - Python 3
- file__ 変数の意味/役割は何ですか?
関連
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] Pythonでファイルの絶対パスを取得する方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] カレントディレクトリとファイルのディレクトリを検索する [重複]。
-
[解決済み] 親フォルダからモジュールをインポートする
-
[解決済み] スクリプトのディレクトリを見つけるにはどうしたらいいですか?重複