我用过
>>> import sys
>>> print(sys.path)
我得到了这个:
['', 'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip',
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python36-32',
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']
我很困惑为什么会这样:
r'C:\Users\HowLo\AppData\Local\Programs\Python\Python36-32\python36.zip'
当我尝试在文件资源管理器中提取它时,没有任何东西。
答案 0 :(得分:2)
sys.path
存储一个字符串列表,每个字符串(如您所知)是计算机上某个位置的路径。
Python查找这些地方以查找程序可以使用的模块(当import sys
时,python从sys
中的某个位置获取sys.path
模块)
.zip
文件的路径与文件夹路径一样有效,python会尝试解压缩任何存档文件。
既然您知道sys.path
是什么,我们就可以看看您的“问题”。
你说C:\Users\HowLo\AppData\Local\Programs\Python\Python36-32\python36.zip
不存在。
所有这些意味着python不会从那里加载任何模块。
它确实没有任何(有意义的)含义。
答案 1 :(得分:-1)
sys路径可以附加您选择的任何路径。毕竟这只是一个清单。
用于搜索不在当前文件夹中的模块。有关详情,请参阅docs。
指定模块搜索路径的字符串列表。从环境变量PYTHONPATH初始化,加上依赖于安装的默认值。
在程序启动时初始化时,此列表的第一项path [0]是包含用于调用Python解释器的脚本的目录。如果脚本目录不可用(例如,如果以交互方式调用解释器或者从标准输入读取脚本),则路径[0]为空字符串,它指示Python首先搜索当前目录中的模块。请注意,在作为PYTHONPATH结果插入的条目之前插入了脚本目录。
程序可以自行修改此列表。只应将字符串和字节添加到sys.path;导入期间将忽略所有其他数据类型。