Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonクラスを動的にロードする方法は?


完全修飾クラス名を取得してクラスを返す使用可能な関数はありません。ただし、この機能を持つ関数を定義することはできます。

次のコードはそのような関数のものです。

def get_class( s ):
    parts = s.split('.')
    module = ".".join(parts[:-1])
    n = __import__( module )
    for comp in parts[1:]:
        n = getattr(m, comp)          
    return n

その関数の1つの使用例

import datetime
def get_class( cls ):
    parts = cls.split('.')
    module = ".".join(parts[:-1])
    m = __import__( module )
    for comp in parts[1:]:
        m = getattr(m, comp)
    return m
print get_class('datetime.datetime').now()
出力 これにより出力が得られます

2018-01-23 14:04:09.843000



  1. JavaScriptファイルを動的にロードする方法は?

    以下は、JavaScriptファイルを動的にロードするためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nb

  2. PythonでEnvironmentError例外をキャッチする方法は?

    EnvironmentErrorは、Pythonの外部(オペレーティングシステム、ファイルシステムなど)から発生するエラーの基本クラスです。 EnvironmentError Exceptionは、StandarErrorクラスのサブクラスです。これは、IOErrorおよびOSError例外の基本クラスです。 IOErrorやOSErrorなどのサブクラスエラーとは異なり、実際には発生しません。 IOErrorまたはOSErrorの例は、環境エラーの例でもあるはずです。 例 import sys try: f = open ( "JohnDoe.txt", 'r&