私たちは、WindowsとLinuxの両方に配備されたコードリポジトリを使用しています。プロジェクト内のモジュールのどれがプロジェクト内の非Pythonリソース(CSVファイルなど)のどれを参照する必要がありますか?Pythonでコードリポジトリを操作する際の相対パスを参照する方法
我々は次のような何かを行う場合は、次のスクリプトは、1つの特定のディレクトリ、またはディレクトリのサブセットから実行された場合にのみが動作する
thefile=open('../somedirectory/test.csv')
:
thefile=open('test.csv')
かを。
path=getBasePathOfProject()+'/somedirectory/test.csv'
thefile=open(path)
これが正しいやり方です:私がやりたい何
のようなものがありますか?出来ますか?
:絶対パスを使用して
は、最善の解決策である必要があります。 /ここにいくつかのサブディレクトリ がresource_file.csv – olamundo
申し訳ありませんが、ファイルツリーが文字化けしました /Project_Root_dir /python_files_dir /いくつかのより多くのサブディレクトリここ py_file.py /リソース :どのようにあなたは、以下のツリー構造を持っているとき、あなたはそれを解決するのです その最後のメッセージで... 2回目の試み: /Project_Root_dir/python_files_dir/some_subdirs/py_file.pyにファイルがあり、/Project_Root_dir/resources/some_subdirs/resource_file.csvにリソースファイルがあります – olamundo
あなたはjoin(foo、 '..')を使用して親ディレクトリに移動します。したがって、/ root/python_files/module/myfileから、os.path.join(os.path.dirname( '__file__')、 '..'、 '..'、 'resources')を使用してください。 – c089