我是使用Python的新手
我需要的是简单:动态导入模块。
这是我的小测试:
#module
class Test:
def func(self, id, name):
print("Your ID: " + str(id) + ". Your name: " + name)
return
我将此类放在名为my_module.py
的文件中,文件路径为:c:\doc\my_module.py
。
现在我创建一个新的python项目来导入上面的文件。
这是我的所作所为:
import sys
module = sys.path.append(r'c:\doc\my_module.py')
myClass = module.__class__
print(myClass)
然而,我得到了这个结果:
<class 'NoneType'>
为什么我无法获得Test
?
是因为导入模块的方法有误还是因为我需要做一些配置来导入模块?
答案 0 :(得分:2)
你做错了。以下是使用sys.path.append
导入模块的方法:
import sys # import sys
sys.path.append(r'c:\doc\') # add your module path to ``sys.path``
import my_module # now import your module using filename without .py extension
myClass = my_module.Test # this is how you use the ``Test`` class form your module
答案 1 :(得分:1)
试试这个:
import sys
sys.path.append(r'c:\doc\') # make sure python find your module
import my_module # import your module
t = my_module.Test() # Initialize the Test class
t.func(1, 'test') # call the method
答案 2 :(得分:1)
导入模块的方法是通过import命令。您可以使用sys指定路径作为目录。您还需要在模块中实例化类(通过my_module.Test())。请参阅以下内容:
dfSplit