[解決済み] os.path.dirname(__file__) が空を返す。
2022-03-02 20:12:27
質問
.pyファイルが実行されるカレントディレクトリのパスを取得したいです。
例えば、単純なファイル
D:\test.py
をコードで表示します。
import os
print os.getcwd()
print os.path.basename(__file__)
print os.path.abspath(__file__)
print os.path.dirname(__file__)
と出力されるのはおかしい。
D:\
test.py
D:\test.py
EMPTY
と同じ結果を期待しています。
getcwd()
と
path.dirname()
.
与えられた
os.path.abspath = os.path.dirname + os.path.basename
なぜ
os.path.dirname(__file__)
は空文字を返すのか?
解決方法は?
なぜなら
os.path.abspath = os.path.dirname + os.path.basename
は成り立たないので、むしろ
os.path.dirname(filename) + os.path.basename(filename) == filename
両方
dirname()
と
basename()
は、渡されたファイル名をカレントディレクトリを考慮せずに構成要素に分割するだけです。 もし、カレントディレクトリも考慮したい場合は、明示的にそうする必要があります。
絶対パスのdirnameを取得する場合は
os.path.dirname(os.path.abspath(__file__))
関連
-
pythonを使ったオフィス自動化コード例
-
python implement mysql add delete check change サンプルコード
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] 空ではないフォルダーを削除/消去するにはどうすればよいですか?
-
[解決済み] 文字列の一覧から空の文字列を削除する
-
[解決済み】Pythonで現在実行されているファイルのパスを取得する方法は?
最新
-
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 Decorator 練習問題
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].