[解決済み] パッケージサブディレクトリのデータにアクセスする [重複]。
2022-05-11 06:23:13
質問
<余談
私は、データファイルを開く必要があるモジュールを含む Python パッケージを書いています。
./data/
サブディレクトリを作成します。今現在、私はクラスと関数にファイルへのパスをハードコードしています。ユーザーのシステムのどこにインストールされているかに関係なく、サブディレクトリにアクセスできる、より堅牢なコードを書きたいと思います。
いろいろな方法を試してみたが、今のところうまくいっていない。ほとんどの "current directory" コマンドは、モジュールのディレクトリではなく、システムの python インタープリタのディレクトリを返しているようです。
これは些細なことで、よくある問題のように思えます。しかし、私はそれを理解することができないようです。問題のひとつは、私のデータファイルが
.py
ファイルなので、インポート関数などが使えない。
何か提案はありますか?
今、私のパッケージディレクトリは次のようになっています。
/
__init__.py
module1.py
module2.py
data/
data.txt
にアクセスしようとしています。
data.txt
から
module*.py
!
解決方法は?
を使用することができます。
__file__
のように、パッケージのパスを取得することができます。
import os
this_dir, this_filename = os.path.split(__file__)
DATA_PATH = os.path.join(this_dir, "data", "data.txt")
print open(DATA_PATH).read()
関連
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] __init__.py でも「非パッケージで相対的なインポートを試みた」を修正する方法
-
[解決済み] パッケージ内のPythonモジュールの名前をリストアップする標準的な方法はありますか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] pipで特定のバージョンのパッケージをインストールする
-
[解決済み] Pythonモジュールと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 Decorator 練習問題
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
Python Pillow Image.save jpg画像圧縮問題
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?