【问题标题】:Import a script in IDLE在 IDLE 中导入脚本
【发布时间】:2011-03-03 02:19:00
【问题描述】:

这可能以前被问过,而且很基本,但是:

我使用的是 Windows 7。我有适用于 Python 2.4.4 和 3.1 的 Idle。我有一些脚本驻留在我的文件系统上的任意位置。我想导入它们并使用它们的类型。我该怎么做?

在 Ubuntu 中,如果我调用 python 的目录包含 scriptname,则在命令行中,import scriptname 有效。如何从其他地方导入脚本?

【问题讨论】:

标签: python python-idle


【解决方案1】:

在空闲时,您可以附加一个包含您的 scriptname.py 文件的路径。

>>> import pprint
>>> import sys
>>> print pprint.pprint(sys.path)
# you could just move your scriptname.py to a directory in the sys.path list
>>> sys.path.append(r"C:\Users\You\")
>>> import scriptname

您还可以在 windows 中自定义 PYTHONPATH 环境变量以包含其他目录,例如“C:\Users\You\lib”

【讨论】:

  • 不要忘记在添加到 sys.path (sys.path.append("C:\\Users\\You\\") 或简单的 sys.path 的目录中的反斜杠。 append(r"C:\Users\You\"))
  • ...或 sys.path.append('C:/Users/You')
【解决方案2】:

要从 IDLE 导入脚本,您可以:

>>> import os
>>> os.chdir('C:\\Users\\You\\Some\\Arbitrary\\Path')
>>> import scriptname

请记住,您需要调用带有 scriptname. 前缀的构造函数,例如 scriptname.myClass(...)

如果您更改脚本中的某些内容,则需要像这样重新加载它:

>>> import imp
>>> imp.reload(scriptname)

(如果您只想使用一个脚本中的类型,并且脚本仅包含函数和类定义(没有运行代码),则有一种更简单的方法。然后您可以简单地在 IDLE 中打开脚本并转到Run>Run Module。当你使用这个方法的时候,不需要在构造函数前加上scriptname.。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2011-12-19
    • 2012-01-07
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多