0

設定ファイルに、次のように URL をハードコーディングするシステムへのパスを追加します。

sys.path.append('/home/user/path/to/projectdir')

できます。

相対にしたいのに、environモジュールで正確なパスを取得しても失敗します。

import environ

ROOT_DIR = environ.Path(__file__) - 3
sys.path.append(ROOT_DIR.path())

私にとって信じられないことはprint(ROOT_DIR.path())、project_dir の正確な URL を出力することです。

print(ROOT_DIR.path())
> '/home/user/path/to/projectdir'

これが私のプロジェクトのツリーです。

project_dir
└── soloscrap
    └── soloscrap
        ├── settings.py

どうすればこのパスを追加できますか? 変じゃない?

4

2 に答える 2

0

相対パスを取得しようとしている場合はどうですか:

os.path.join("..", "..", __file__)

(端末により若干異なります)

In [1]: import os

In [3]: os.getcwd()
Out[3]: 'c:\\Temp\\foo\\bar'

In [4]: os.path.abspath(os.path.join('..','..',__name__))
Out[4]: 'c:\\Temp\\__main__'

In [5]:
于 2016-12-21T16:01:19.657 に答える