引言
相信有不少朋友总是遇到一个问题,对于自己写的在电脑上可以重复使用的模块,每次在别的模块中进行引用时都需要手动额外导入一次,这显然是不方便的。
比如我们有一个 Points 文件夹,下面有一个 Point2D 类,我们想在另一个文件夹下的另一个类中对其进行引用,它们的结构如下:
Points
----Points2D.py
Algorithm
----Debug.py
通常我们需要在 Debug.py 文件中使用:
from Points.Points2D import Point2D
如果有其他文件需要引用 Point2D,我们仍旧需要上述代码进行引用,非常麻烦。
正文
此时,我们可以在 Python 安装目录下:C:\Softwares\Python 3.11.5\Lib\site-packages
下创建一个 .pth
文件,这个文件的名称可以是任意名称,只需要保持后缀即可。然后将我们需要设置为根目录的路径放置在这个文件夹下,最终它内部的内容如下:
这样我们就将四个文件夹设置为了 Python 每次搜索的默认路径,此时我们在名为 Debug.py 的文件夹中输入如下代码:
import sys
print(sys.path)
"""
['C:\\Softwares\\PythonProject\\MathModel\\Visualizations', 'C:\\Softwares\\PythonProject\\MathModel',
'C:\\Softwares\\PythonProject\\MathModel\\DataTypes', 'C:\\Softwares\\PythonProject\\MathModel\\Points',
'C:\\Softwares\\PythonProject\\MathModel\\Units', 'C:\\Softwares\\PythonProject\\MathModel\\Vectors',
'C:\\Softwares\\Python 3.11.5\\python311.zip', 'C:\\Softwares\\Python 3.11.5\\DLLs',
'C:\\Softwares\\Python 3.11.5\\Lib', 'C:\\Softwares\\Python 3.11.5',
'C:\\Softwares\\Python 3.11.5\\Lib\\site-packages', 'C:\\Softwares\\Python 3.11.5\\Lib\\site-packages\\win32',
'C:\\Softwares\\Python 3.11.5\\Lib\\site-packages\\win32\\lib', 'C:\\Softwares\\Python 3.11.5\\Lib\\site-packages\\Pythonwin']
"""
可以看到,此时多的四个目录就是我们手动设置的默认搜索目录,之后在需要对应模块的 Python 文件中,我们可以直接使用这些模块中的函数,而不用再进行导入操作。
如果有一天,我们不希望这些目录称为默认搜索目录时,可以删除该 .pth 文件中的内容,或者直接删除该文件即可。
如果大家觉得有用,就点个赞让更多的人看到吧~