从不同环境导入模块

时间:2017-03-07 17:41:04

标签: python import module

在Python中创建一个名为' python_1.py'的模块。如下:

  1. 从Python控制台导入模块时('导入python_1'),返回'导入'。
  2. 从iPython控制台导入模块时('导入python_1'),返回'从iPython'导入。

  3. 从命令提示符导入模块时(' python python_1.py'),返回'以脚本运行'。

  4. 这就是我所做的,但我不知道如何知道导入的位置:

    def python_1(): 
          print 'Imported from iPython'
    

1 个答案:

答案 0 :(得分:1)

您可以调用以下函数:

import sys
def import_check():
    try:
        __IPYTHON__
        return 'Imported from iPython'
    except NameError:
        pass
    a = sys.executable
    m = '\\'
    m = m[0]
    while True:
        b = len(a)
        c = a[(b - 1)]
        if c == m:
            break
        a = a[:(b - 1)]
    if sys.executable == a + 'pythonw.exe':
        return 'Imported'
    else:
        return 'Running as script'

print(import_check())

第一部分检查__IPYTHON__变量是否存在:如果是,则从iPython运行。第二部分检查您是从命令提示符还是从IDLE(Python控制台)运行,因为从IDLE pythonw.exe运行时用于运行代码,而如果从命令提示符运行它则使用{{1} }。代码的作用是简单地恢复Python路径以查看正在运行的python.exe

免责声明:部分代码由@Dylan在this问题中编写,另一部分由@Tom Dunham在this问题中编写。