13.5.7.7 ユーザー定義Python関数のインポート

ユーザー定義Python関数を指定されたファイルからOML4Pyスクリプト・リポジトリにインポートするには、oml.import_script関数を使用します。

この関数の構文は次のとおりです。
oml.import_script(file_name, is_global=False, overwrite=False)

関数のパラメータ:

  • file_name (型: 文字列): インポートするスクリプトを含むファイルを指定します。.json.pyの2つの形式のみがサポートされています。ファイル・タイプは、接尾辞によって判断されます。
  • is_global (型: boolまたはFalse (デフォルト)): インポート後に、ユーザー定義Python関数にグローバルにアクセスできるかどうかを示します。デフォルトでは、Falseに設定されます。これは、ユーザーのみがアクセスできることを意味します。
  • overwrite (型: boolまたはFalse (デフォルト)): Trueに設定して、既存のスクリプトがすでに存在する場合は上書きされます。

例13-16 oml.import_script関数の使用

この例では、oml.import_script関数を使用して、指定されたファイルから.json.pyの両方のファイル形式のユーザー定義Python関数をインポートします。ユーザー定義Python関数の作成については、例13-11を参照してください。

import oml

# Import the file named script_user.json as a private user-defined Python function.
oml.import_script(file_name="script_user.json")
oml.script.dir()[['name', 'script', 'description']]

# Import the file name script_global.py as a global user-defined Python function.
oml.import_script(file_name="script_global.py", is_global=True)
oml.script.dir(name="LM", regex_match=True, sctype="all")[['owner', 'name', 'script','description']]

# Drop the private user-defined Python function.
oml.script.drop("MYLM")

# Drop the global user-defined Python function.
oml.script.drop("GLBLM", is_global=True)

この例のリスト

oml.import_script(file_name="script_user.json")
>>> oml.script.dir()[['name', 'script', 'description']]
  name                                            script       description
0 MYLM def build_lm1(dat):\n from sklearn import lin... my lm model build
>>> oml.import_script(file_name="script_global.py", is_global=True)
>>> oml.script.dir(name="LM", regex_match=True, sctype="all")[['owner', 'name', 'script', 'description']]
    owner  name                                            script \
0  PYQSYS GLBLM def build_lm2(dat):\n from sklearn import lin...  
1 PYQUSER  MYLM def build_lm1(dat):\n from sklearn import lin...  
<BLANKLINE>
        description 
0              None 
1 my lm model build 
 
>>> oml.script.drop("MYLM")
>>> oml.script.drop("GLBLM", is_global=True)