||
如果我们要写一个模块,并且可以在IDLE中顺利导入这个模块,我们必须安装Python的目录下新建一个模块的 .py 文件,
我们说过:为了使我们的 IDLE 能够顺利的找到这个模块,我们这个模块的位置应该跟我们调用的程序在同一个文件夹下。
这样就比较麻烦了,因为我们希望把自己做的项目的文件统一保存在一个文件夹下,也不希望Python的安装目录被破坏。
那么,我们就需要学习如何从我们想要的文件夹中导入模块的方法。
其实很简单:
我们首先要知道,为什么IDLE能够顺利找到在安装Python的目录下的模块文件呢:
我们调用 sys,并查看一下路径就知道了:
>>> import sys
>>> sys.path
['', 'D:\\ProgramFiles\\Anaconda3\\Lib\\idlelib', 'D:\\ProgramFiles\\Anaconda3\\python35.zip', 'D:\\ProgramFiles\\Anaconda3\\DLLs', 'D:\\ProgramFiles\\Anaconda3\\lib', 'D:\\ProgramFiles\\Anaconda3', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\Sphinx-1.4.6-py3.5.egg', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\win32', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\win32\\lib', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\Pythonwin', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.5.egg']
默认的路径均为Python 的安装目录(我的Python是使用Anaconda安装的,大家使用官方Python安装的路径也大致相同)
只有在 sys.path 包含的路径下的模块,我们才可以直接调用,那么解决方法就很简单了。
如果我们在桌面上新建了一个 hello.py 文件,我们在里面定义一个 hi() 函数,当我按下 Ctrl + S 将这个文件保存起来的时候,这就是一个独立的Python 模块了,
def hi():
print('Hi, everyone!')
我们想在IDLE里直接调用桌面上的这个模块,如果直接调用,就会报错
>>> import hello
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import hello
ImportError: No module named 'hello'
但是我们结合上面的原理,我们可以这样做:
>>> import sys
>>> sys.path.append("C:\\Users\\XiangyangDai\\Desktop")
>>> import hello
>>> hello.hi()
Hi, everyone!
先把需要导入模块所在的路径添加到 sys.path 中,然后就可以顺利导入该模块了。
【参考】
https://blog.csdn.net/qq_41556318/article/details/84889928
点滴分享,福泽你我!Add oil!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 07:12
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社