从桌面引入模块的问题(python)

刚开始从桌面文件引入自定义的模块的时候报错:显示

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设置方法不同。

猜你喜欢

转载自blog.csdn.net/qq_33694881/article/details/82745101