當使用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']