17

私はまだimport声明に頭を悩ませています。同じレベルに2つのフォルダがある場合:

  1. src
  2. テスト

でモジュールをインポートするpyファイルを作成するにはどうすればよいですか?より良い解決策はありますか(フォルダを別のフォルダの中に置くなど)testsrc

4

3 に答える 3

10

必要なコードはsrc/module_name.pyを使用するためのものです

from src import module_name 

ルートディレクトリはPYTHONPATHにあります。たとえば、ルートディレクトリから実行します。

あなたのディレクトリ構造は私が使用しているものですが、srcからではなくモデル名を使用しています。この構造は、JCalderoneのブログから入手しました。

于 2010-02-14T20:12:52.963 に答える
6

これを試してみてください:

import sys
import os
sys.path.append(os.path.join('..', 'src'))
import module_in_src_folder

任意のプラットフォームをサポートするように編集

于 2010-02-14T21:29:22.790 に答える
0

私が書いたすべてのPythonプロジェクトで、OPとまったく同じ状況になります。

  • プロジェクトフォルダ
    1. src
    2. テスト

src、test、またはこれらのサブフォルダーにあるかどうかにかかわらず、すべてのモジュールは常にimport、マークが答えに示している形式を使用します。

from src import module_name

私が行ったことはProject Folder、テストフォルダー内にあるすべてのテストモジュールを再帰的に検出し、unittestを取得してそれらすべてのテストを実行するモジュールを作成することです。pythonがで実行されているProject Folderため、モジュールは作業ディレクトリに相対的です。

これは、テストがからモジュールを作成したい他のクライアントとまったく同じであることを意味しますsrc

于 2010-02-14T21:34:37.193 に答える