0

我有一个必须完成的 Python 课程练习。我已经将我的方法/定义保存在一个文件中,只需要弄清楚如何运行它。我希望你能向我解释如何导入文件(我知道语法“导入文件名”)。每当我这样做时,我都会遇到错误。如何将导入的文件路径更改为桌面上的文件?我正在使用 mac 并运行 IDLE 2.7.3

4

2 回答 2

1

如果文件与该文件位于同一目录中,则可以使用

import <filename> #(without the <>)

但是,如果您指的是单独目录中的文件,请使用 imp

import imp

module = imp.load_source('module.name', '/path/to/file.py')
module.SomeClass()
于 2013-02-26T00:47:13.227 回答
0

在 Mac OS X 上,有两种启动 IDLE 的基本方法。一种是在 Finder 的 Applications 文件夹中双击一个 IDLE 图标。(我称之为IDLE.app)第二个是从终端会话 shell 启动 IDLE,如下所示:

 idle2.7

我会这样称呼它,bin/idle因为它指的是系统bin目录之一中的文件。

启动时bin/idle,IDLE 将继承 shell 的当前工作目录,并将该目录添加到 Python 搜索导入的目录列表的前面。您可以在 IDLE shell 窗口中检查该目录列表:

 import sys
 sys.path

但是,当您启动IDLE.app时,它不与任何 shell 关联,因此没有机会告诉 IDLE 使用哪个工作目录。在这种情况下,IDLE.app使用您的Documents文件夹/目录作为其工作目录:在 shell 表示法中~/Documents,也拼写为/Users/your_login_name/Documents.

您可以在 Python 程序中手动操作sys.path以添加另一个用于导入的目录:

 import sys
 sys.path.insert(0, '/path/to/directory')

另一种操作方法sys.path是使用PYTHONPATH环境变量。但是,同样,在使用 时IDLE.app,没有(简单的)方法可以将环境变量传递给它,这与bin/idle

因此,如果您想使用,最简单的方法是将您希望能够导入的所有文件和包目录IDLE.app放入您的目录中。Documents否则,使用终端会话,设置所需的工作目录和/或PYTHONPATH变量并启动bin/idle。所以像:

cd ~/MyProject
export PYTHONPATH=~/"AnotherPackageDirectory"
idle2.7

另一种方法是将模块安装在 Python 搜索并使用 Distutilseasy_installpip. 但是当你有一个完成的项目时,这是需要学习的东西。

于 2013-02-26T02:14:55.737 回答