我最近开始阅读第四版Mark Lutz的书“学习Python” . 我下载了最新版本的Python(v3.7)和IDLE,我在Mac上运行 . 我在尝试导入模块时遇到问题 . 在页54,它说使用以下代码创建一个脚本threenames.py:
a = 'dead'
b = 'parrot'
c = 'sketch'
我把它保存在我的桌面上 . 接下来我打开一个shell:
import threenames
并且输出应该是 dead parrot sketch
但是,我收到错误消息:
Traceback(最近一次调用最后一次):文件“<pyshell#0>”,第1行,在<module>中导入threenames ModuleNotFoundError:没有名为'threenames'的模块
我的 sys.path
是['', ' / Users / xxxx / Documents ', ' /Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip ', ' /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7 ', ' /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload ', ' /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']
2 回答
由于您的桌面文件夹位于
/Users/xxx/Desktop
并且未在sys.path
中列出,您可以将文件移动到/Users/xxx/Documents
(主目录中的Documents文件夹)或在启动python之前在shell中执行cd ~/Desktop
,因为sys.path
包含''
,它指的是当前工作目录 .但是,只是导入该模块不会在shell中访问这些变量,您必须显式导入它们:
该文件必须位于当前的工作目录中 . 然后导入它没有问题 . 有两种方法可以实现这一目标 .
只需从存储.py文件的同一文件夹中打开您的python shell . 工作目录始终设置为启动python shell的位置 .
只需在代码中更改工作目录即可 . 只需致电:
import os os.chdir(“/ directory / with / your / pyfile /”)