私は次のプロジェクト構造Pythonプロジェクトに絶対パスを入れる場所はどこですか?
ts_tools
/bin
/docs
/lib
/ts_tools
/data_transfer
/tests
data_import.py
__init__.py
/data_manipulation
/tests
data_smoothing.py
__init__.py
__init__.py
config.yaml.conf
setup.py
LICENSE
README.md
TODO.md
を持っている私は、外部ソースからdata_import.py
ファイルにデータをインポートしたいと思います。各パスは、ts_tools
パッケージ内のすべてのツール(すなわちdata_import.py
とdata_smoothing.py
)のために利用可能であるべきである
root_path:
windows:
data_fundamental: C:\\Users\\Malcom\\Data_Fundamental
data_event: C:\\Users\\Malcom\\Data_Event
linux:
data_fundamental: /home/data/data_fundamental
data_event: /home/data/data_event
:私はデータの絶対パスを指定するconfig.yaml.conf
ファイルを使用します。さらに、プログラムはosを識別し、それに応じてパス構造を選択する必要があります。
私は
import yaml
with open("config.yaml.conf", "r") as ymlfile:
cfg = yaml.load(ymlfile)
を使ってYAMLファイルでパスを設定する方法を知っていると私は
if platform.system().lower() == 'windows':
ROOT_DATA_PATH = cfg['windows']
else:
ROOT_DATA_PATH = cfg['linux']
でOSを区別する方法を知っているが、私はどこにこれらを配置する場所を知りませんコードスニペット。 setup.py
ファイルで使用するのは適切ではないと思います。一方、新しい.pyファイルを指定することは不適切だと考えています。この問題の良い設計構造は何ですか?どこに絶対ファイルパスを指定すべきですか?私のansatzは正しい方向へ一歩進んでいますか?
ありがとうございます。