当使用Python用import导入模块时我们不需要在模块前面添加路径,是因为Python有默认的搜索路径,这一路径可以通过调用system模块来显示和修改。
In [1]: import sys
In [2]: sys.path
Out[2]:
['',
'/home/frank/anaconda3/bin',
'/home/frank/anaconda3/lib/python36.zip',
'/home/frank/anaconda3/lib/python3.6',
'/home/frank/anaconda3/lib/python3.6/lib-dynload',
'/home/frank/anaconda3/lib/python3.6/site-packages',
'/home/frank/anaconda3/lib/python3.6/site-packages/IPython/extensions',
'/home/frank/.ipython']
我们可以看到sys.path是一个列表,当需要导入一个模块的时候,python依次搜索列表内的各个路径。如果我们想要增加一个路径,只需要使用append()方法即可。
In [3]: sys.path.append("/home/frank/Desktop")
In [4]: sys.path
Out[4]:
['',
'/home/frank/anaconda3/bin',
'/home/frank/anaconda3/lib/python36.zip',
'/home/frank/anaconda3/lib/python3.6',
'/home/frank/anaconda3/lib/python3.6/lib-dynload',
'/home/frank/anaconda3/lib/python3.6/site-packages',
'/home/frank/anaconda3/lib/python3.6/site-packages/IPython/extensions',
'/home/frank/.ipython',
'/home/frank/Desktop']
删除使用remove()
In [9]: sys.path.remove("/home/frank/Desktop")
In [10]: sys.path
Out[10]:
['',
'/home/frank/anaconda3/bin',
'/home/frank/anaconda3/lib/python36.zip',
'/home/frank/anaconda3/lib/python3.6',
'/home/frank/anaconda3/lib/python3.6/lib-dynload',
'/home/frank/anaconda3/lib/python3.6/site-packages',
'/home/frank/anaconda3/lib/python3.6/site-packages/IPython/extensions',
'/home/frank/.ipython']