在我的python函数中使用__import __()函数

时间:2018-01-04 04:40:01

标签: python import

谢谢大家,这个问题已经解决了

但我不知道他们之间有什么不同

错误的剧本:

SELECT T.NOPOL, T.TGL, T.LASTSERVICE
FROM
YOUR_TABLE T
INNER JOIN
(SELECT NOPOL, MAX(TGL) AS MAX_TGL FROM YOUR_TABLE GROUP BY NOPOL) A
ON T.NOPOL = A.NOPOL AND T.TGL = A.MAX_TGL;

运作良好的脚本:

def func(module) :
    cwd = os.getcwd()
    os.chdir(module['path'])
    tmp = __import__(module['name'])
    os.chdir(cwd)

...

新年快乐:)

=============================================== =============

您好我需要在python脚本中动态导入

当我在功能

之外尝试def func(module) : sys.path.append(module['path']) tmp = __import__(module['name'])

离)

__import__()

它确实有效,但是当我在一个函数中尝试它时

ex)

__import__('myModule')

我收到 ImportError def func() : __import__('myModule') func()

如何在函数中使用ImportError: No module named myModule

3 个答案:

答案 0 :(得分:1)

我想你想在这里使用的是以下内容:

from importlib import import_module

def func():
    import_module('myModule')

答案 1 :(得分:0)

当Python启动时the script’s directory is put at the front of sys.path,以便import在其中找到内容。在某些情况下(例如,不是python foo/bar.py),放置的是一个空字符串,这意味着“搜索当前工作目录”。只有在这种情况下,os.chdir才会以您期望的方式影响import

答案 2 :(得分:-2)

你使用的是什么版本的python? 如果它的python 3.5和更多,你应该使用简单的代码字
它的程序例如: def main(): import re return re.split(" ","q q q q") a = main() print(a)
在python 3.5及更高版本上它完美无缺 但我对python2一无所知。*