刚开始从桌面文件引入自定义的模块的时候报错:显示
In [8]: import sys
In [9]: sys.path.append("C:\Users\ly\Desktop\test")
File "<ipython-input-9-b7499eb92ca3>", line 1
sys.path.append("C:\Users\ly\Desktop\test")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
这是应为啥呢?是因为,在Python中\是转义符,\u表示其后是UNICODE编码,因此\User在这里会报错,在字符串前面加个r表示就可以了
即:
sys.path.append(r"C:\Users\ly\Desktop\test")
以上是在指定位置处引入模块;还有种方法是在创建模块时将它放在“正确”的位置处,也就是说python解释器从哪里查找模块,就将其放在哪里。
可以通过sys模块中的path变量找到解释器的搜索路径:
代码如下:
import sys,pprint
pprint.pprint(sys.path)
输出代码如下:
['',
'C:\\Users\\ly\\Anaconda3\\Scripts',
'C:\\Users\\ly\\Anaconda3\\python36.zip',
'C:\\Users\\ly\\Anaconda3\\DLLs',
'C:\\Users\\ly\\Anaconda3\\lib',
'C:\\Users\\ly\\Anaconda3',
'C:\\Users\\ly\\Anaconda3\\lib\\site-packages',
'C:\\Users\\ly\\Anaconda3\\lib\\site-packages\\win32',
'C:\\Users\\ly\\Anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\Users\\ly\\Anaconda3\\lib\\site-packages\\Pythonwin',
'C:\\Users\\ly\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
'C:\\Users\\ly\\.ipython',
'C:\\Users\\ly\\Desktop\\test']
以上代码打印出相应的搜索路径,这些目录都可以用于存放自己创建的模块的位置,但是
site-packages目录是最佳选择,其本身也是用来做这些事情的。
还有种方法是使用环境变量来引入模块。正确的方法是在PYTHONPATH环境变量中包含模块的目录。不同的os设置方法不同。