我有一个必须完成的 Python 课程练习。我已经将我的方法/定义保存在一个文件中,只需要弄清楚如何运行它。我希望你能向我解释如何导入文件(我知道语法“导入文件名”)。每当我这样做时,我都会遇到错误。如何将导入的文件路径更改为桌面上的文件?我正在使用 mac 并运行 IDLE 2.7.3
2 回答
如果文件与该文件位于同一目录中,则可以使用
import <filename> #(without the <>)
但是,如果您指的是单独目录中的文件,请使用 imp
import imp
module = imp.load_source('module.name', '/path/to/file.py')
module.SomeClass()
在 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_install
或pip
. 但是当你有一个完成的项目时,这是需要学习的东西。