0

多数の異なる python ファイルを含む「Files」というフォルダーがあるとします。

path = "C:\Python27\Files"
os.chdir(path)
filelist = os.listdir(path)
print(filelist)

これにより、「Files」フォルダー内のすべての python ファイルの名前を含むリストが表示されます。

これらのファイルのそれぞれを、モジュールとして一度に 1 つずつ、より大きな Python プログラムにインポートしたいと考えています。これを行う最善の方法は何ですか?

4

3 に答える 3

1

imp モジュールには、モジュールを動的にインポートするために連携する 2 つの関数があります。

import imp
import traceback
filelist = [os.path.splitext(x)[0] for x in filelist] # name of the module w/o extension
for f in filelist: # assume files in directory d
    fp, pathname, description = imp.find_module( f, [d])
    try:
        mod = imp.load_module(x, fp, pathname, description)        
    except:
        print(traceback.format_exc())
    finally:
        # must always close the file handle manually:
        if fp:
            fp.close()
于 2013-08-16T16:34:02.780 に答える