【问题标题】:Import Module from different environments从不同环境导入模块
【发布时间】:2017-03-07 17:41:04
【问题描述】:

在 Python 中创建一个名为 'python_1.py' 的模块,执行以下操作:

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

  3. 从命令提示符('python python_1.py')导入模块时,返回'Running as script'。

这是我做过的,但我不知道如何知道在哪里导入:

def python_1(): 
      print 'Imported from iPython'

【问题讨论】:

  • 命令系统 = 命令提示符?
  • 是的...对此感到抱歉!..

标签: python import module


【解决方案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 用于运行代码,而如果您从命令提示符运行它,它将使用 python.exe。代码所做的只是简单地还原 Python 路径以查看正在运行的 exe

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2023-01-14
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多