在IDLE中导入脚本

10 投票
3 回答
17713 浏览
提问于 2025-04-16 12:52

这个问题可能之前有人问过,而且其实很基础,但我还是想问:

我现在用的是Windows 7。我安装了Python 2.4.4和3.1的Idle。我有一些脚本散落在我电脑的不同地方。我想导入这些脚本,试试它们的类型。我该怎么做呢?

在Ubuntu系统中,如果我在命令行输入import scriptname,只要我从中调用python的那个文件夹里有scriptname,就能成功导入。那么如果我想从其他地方导入一个脚本,该怎么做呢?

3 个回答

1

在工作目录中,有一个文件叫做 myscript.py:

import math as ma

def A_sphere(r):
    return 4 * ma.pi * r**2

r = 6700000 # r_Earth_meters

i = 0
while i < 100000:
    i += 1


python3 # idle

>>> from myscript import *  # will run any code in the script
>>> i
100000
>>> radius = r
>>> A_sphere(radius)
598284904949640.2
>>>
>>> print(ma.pi)
3.141592653589793

4

要从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.。)

8

在空闲状态下,你可以添加一个包含你的脚本文件 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"。

撰写回答