我正在尝试导入我在python中编写的模块,该模块仅打印出包含数字的列表。我遇到的问题是我希望能够从一个单独的目录导入它,但是到目前为止,我所读的答案似乎不适用于我的情况。
例如,假设我要从我的documents文件夹中的目录导入printnumbers.py,我应该实现以下内容:
import sys
sys.path.append('/home/jake/Documents')
import printnumbers.py
此代码伪装导致“导入错误”,告诉我指定的模块不存在。我不确定从何处开始,我已经多次检查以确保路径和模块名称的拼写正确。我仍在尝试确切地了解追加到“ sys.path”的功能。据我了解,它告诉程序在该目录中搜索模块?
感谢您回答我的新手问题的人。我只是想更好地了解python文档并未提供我的心态。
当文件为时printnumbers.py
,将调用该模块printnumbers
(不带.py
)。因此使用
import printnumbers
import sys
sys.path.append('/home/jake/Documents')
附加'/home/jake/Documents'
到的末尾sys.path
。sys.path
每当import语句使Python搜索模块时,都会搜索(按列出的顺序)列出的目录。(已经将导入的模块缓存在中sys.modules
,因此Python并不总是需要搜索sys.path
目录来导入模块...)
因此,如果您有一个文件/home/jake/Documents/printnumbers.py
,import printnumbers
则将导致Python导入它,前提是printnumbers.py
在sys.path
前面列出的目录中没有其他文件命名/home/jake/Documents/
。
请注意,将目录注入其中sys.path
不是设置Python搜索模块的常用方法。通常,最好将其添加/home/jake/Documents
到您的PYTHONPATH环境变量中。sys.path
将自动包含PYTHONPATH环境变量中列出的目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句