[解決済み】コードリポジトリで作業する際にリソースの相対パスを参照する方法
2022-04-20 22:56:39
質問
私たちは、WindowsとLinuxの両方にデプロイされるコードリポジトリで作業しており、時には異なるディレクトリに配置されることもあります。 プロジェクト内のモジュールの1つは、プロジェクト内の非Pythonリソース(CSVファイルなど)の1つをどのように参照する必要がありますか?
というようなことをすると
thefile = open('test.csv')
または
thefile = open('../somedirectory/test.csv')
特定の1つのディレクトリ、またはディレクトリのサブセットからスクリプトを実行したときのみ動作します。
やりたいことは、以下のようなことです。
path = getBasePathOfProject() + '/somedirectory/test.csv'
thefile = open(path)
可能なのでしょうか?
どのように解決するのですか?
現在のファイルパスから相対的なファイル名を使用しようとする。'./my_file' の例です。
fn = os.path.join(os.path.dirname(__file__), 'my_file')
Python 3.4+の場合、以下のように使うこともできます。 パスリブ :
fn = pathlib.Path(__file__).parent / 'my_file'
関連
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み] __init__.py でも「非パッケージで相対的なインポートを試みた」を修正する方法
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] モジュール名を文字列で指定してインポートするには?
-
[解決済み] Pythonで現在のCPUとRAMの使用率を取得する方法は?
-
[解決済み] インタプリタのコンソールをクリアする方法を教えてください。
-
[解決済み】pytestのPATH問題 'ImportError: YadaYadaYadaという名前のモジュールがない'
-
[解決済み】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によるLeNetネットワークモデルの学習と予測
-
Pythonコンテナのための組み込み汎用関数操作
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み] Bashスクリプトのユニットテスト