Pythonで自分で作成したモジュールの前に関数を呼び出すことについて

PS:以前は怠惰で、システムパスを直接追加する方法を使用していましたが、コードが変更されるほど複雑になり、最近は複数の構成パラメーターを追加する必要があります。パラメーターを追加して、折りたたまれていることがわかりました。 、サービス計算が失敗しているので、まだガイドを使用する必要がありますパッケージの形式、少し前に使用しましたが、常にあいまいです。コード関数が増えると、次のようになります。より直感的に理解していただければ幸いです。

 

1.1。怠惰になる方法について話しましょう。これは次のコードです。

import sys, os
sys.path.append(os.path.dirname(__file__) + os.sep + 'database/')

現在のpyファイルの実行ディレクトリが/ home / pacs / PycharmProjects / tfの場合、上記のコードを現在のpyファイルに追加して、/ home / pacs / PycharmProjects / tf / database /の下に直接インポートできます。次のコードドキュメントで。これは、ファイルが少ない場合の一時的な使用に適しています。

 

2.2。ガイドパッケージの形式:

以下はpycharmで開かれたパッケージのフォーマットです

LungDetectorClassierはパッケージの最上位であり、各フォルダーを__init__。pyに配置して、これがフォルダー内のファイルを呼び出すパッケージであることを確認する必要があります(LungDetectorClassierフォルダーも追加する必要があります。これは最後の__init__です。 .py)。

db_sqlite3.pyファイルのconfigg.py(クロスフォルダー)を呼び出したい場合は、次のように記述します。

from LungDetectorClassier.config import configg

そして、execute_status_result.pyのdb_sqlite3.py(同じフォルダーの下)を呼び出して、次のように記述します

from . import db_sqlite3

 

注意点

サービスを開始する場合、呼び出し元サービスの実行中のファイルをパッケージ内のフォルダーに配置することはできませんが、次のようにパッケージの外部に配置する必要があります。

test_ai.pyとtest_predict.pyを使用してサービスを開始します。

test_ai.pyのコードは次のとおりです。

# -*- coding: utf-8 -*-
from LungDetectorClassier.service.ai import AI_algorithm

if __name__ == '__main__':
    AI_algorithm()

そして、test_predict.pyも同様です。

おすすめ

転載: blog.csdn.net/qq_36401512/article/details/95204458