前言:在如何在一个py代码中导入另一个自定义的代码
方法一:采用vscode的debug方式添加配置文件(不能使用runcode直接跑,应该可以修改配置来解决这个问题)
方法二:__init__.py导入其他包(不好使用debug,应该可以修改配置文件)
方式三:python安装陌路的lib包下直接引用,可使用task.json方式发布到lib(复用性高,但扰乱标准库的)
方式四:引入同级目录下的包(方便代码可读性高,代码乱复用性底)
直接将你的模块放在python的lib包下,代码直接引用
这种方式可以直接使用vscode的task.json来实现
# from util import MyLogger#方式1
from ..util.MyLogger import MyLogger 方式2
# from xiaoyi.util.MyLogger import MyLogger 方式3
if __name__ == '__main__':
log = MyLogger()
log.logger.debug('debug')
log.logger.info('info')
log.logger.warning('警告')
log.logger.error('报错')
log.logger.critical('严重')
其他
这种方式可以直接调试,使用runcode也可以,打包成exe也可以运行
如何发布到lib中可以使用task.json方式发布
文件:task.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "发布util",
"type": "shell",
//1、删除原有文件;2、创建新文件夹;3、复制文件过去
//xcopy /y /c /h /r E:\\workSpace_py\\python-demo\\util D:\\Program Files\\Python39\\Lib\\xiaoyi
"command": "${workspaceRoot}\\.vscode\\utilSend.bat"
}
]
}
文件:utilSend.bat
IF NOT EXIST "{py安装目录}\\Lib\\xiaoyi\\util" md "{py安装目录}\\Lib\\xiaoyi\\util" else del "{py安装目录}\\Lib\\xiaoyi\\util"
xcopy /y /c /h /r E:\\workSpace_py\\python-demo\\util\\ "{py安装目录}\\Lib\\xiaoyi\\util"