Python 添加自定义函数路径到系统路径中
1 如何在Python调用自定义函数
1.1 当自定义函数文件在本项目代码运行路径下时
直接使用 import 导入
# 自定义函数 xx.py 文件中有自定义函数 func1() func2()...
# 1 导入xx.py (自定义函数所在的文件)
import xx
# 2 调用 func1() 函数
xx.func1()
只要 xx.py 本项目代码运行路径下,就可以这样想导入 Python 的库函数一样,直接使用 import 导入,其导入的语法遵循 import 的语法规则,这里就不再赘述。
1.2 当自定义函数文件不在本项目代码运行路径下时
先将自定义函数文件路径添加到 Python 的搜索路径中,然后就可以使用 import 调用了
# 自定义函数 xx.py 文件 在 F:\Data_for_Projects 而项目代码在其他路径时
# 需要将 F:\Data_for_Projects 添加 Python 中
# 自定义函数 xx.py 文件中有自定义函数 func1() func2()...
# 1 添加 xx.py 所在的路径
import sys
print(sys.path) # 查看 Python 的搜索路径
sys.path.append("F:\Data_for_Projects") # F:\Data_for_Projects 为自定义函数文件所在的路径
# 2 导入xx.py (自定义函数所在的文件)
import xx
# 3 调用 func1() 函数
xx.func1()
这个方法很好用,但需要在调用时,手动添加自定义函数文件的路径,那么有没有可以一劳永逸的方法,每次打开 Python 的时候 或者运行代码的时候,自动添加自定义函数文件的路径呢?
当然有!!!
2 添加自定义函数文件路径到Python系统搜索路径下
在 Python 的安装路径下 进入 …\Lib\site-packages 中,我这里装的是 Anaconda3 环境,因此是进入 D:\Anaconda3\Lib\site-packages 在该路径下添加一个 my.pth 文件,并在里面写入自定义函数文件的路径,如:
保存即可,这样就可以在任何路径下的项目中使用 import 导入自定义函数了!!!
当然,你可以在 ipython 中查看路径是否添加成功,如
看上面的自定义函数文件路径已经添加成功了,之后就可以随便 import了!!!
3 自动添加自定义函数文件的路径
上面的方法已经很好用了,但是近期多次(一天2台电脑重装了4次)重装 Python 环境,每次装了环境之后要向上面那样多次配置自定义函数到系统搜索路径中,太烦了!!!
所以怎样才能解放双手呢???
当然是直接跑代码啊!!!
上菜
# -*- coding: utf-8 -*-
# !/usr/bin/python
import os
import sys
selfFuncPath = os.path.dirname(os.path.abspath(__file__))
sysPath = sys.path
for i in range(len(sysPath)):
listPath = sysPath[i].split("\\")
if listPath[-1] == "site-packages" and listPath[-2] == "lib":
pythonLibSite_packagesPath = sysPath[i]
break
newFilename = pythonLibSite_packagesPath + "\\my.pth"
print(f"add {selfFuncPath} to {newFilename} ...")
if os.path.exists(newFilename):
with open(newFilename, "r+") as f:
texts = f.readlines()
pass
if selfFuncPath in texts:
print(f"This file path: {selfFuncPath} already exists")
else:
with open(newFilename, "a+") as f:
f.write("\n")
f.write(selfFuncPath)
pass
else:
with open(newFilename, "w+") as f:
f.write(selfFuncPath)
print(f"{selfFuncPath} add successfully")
直接单手运行,就可以将本代码文件所在的文件路径添加到 Python 中。
所以,将本代码文件放入想要添加的自定义函数文件路径下,就可以完成添加,并且本文件可以在任意目录下运用,不会添加重复的路径,无视安装 Python 的环境,直接将路径添加到所运行 Python所在的环境下,如果有多个环境,直接换环境运行本代码,很良心了吧?
当然,亲爱的会员们就别复制了吧?直接下载多好啊!!!链接: link
欢迎大家积极提出宝贵的建议 !
支持一下,收藏!!!加星星!!!