python引入自己的包

摘要:
两种办法:一、在文件夹下添加一个名为__init__.py的文件,文件内什么都不需要写我的目录结构是这样的:pythonprojectmaindataest.pypythonprojectmaincommonmysqlutil.pypythonprojectmaincommon__init__.py这样我在test.py中引入mysqlutil#test.pyimportosimportsys#我

两种办法:

一、在文件夹下添加一个名为 __init__.py 的文件,文件内什么都不需要写

我的目录结构是这样的:

pythonprojectmaindata	est.py
pythonprojectmaincommonmysqlutil.py
pythonprojectmaincommon__init__.py

这样我在 test.py 中引入mysqlutil

#test.py
importos
importsys

#我自己的在项目里的模块
from main.common importmysqlutil

deftest1():
    mysqlutil.print()
    
defmain():
    test1()

#判断是否是程序主入口而已,如果是程序主入口,则代码块执行,否则代码块不执行#主要用于别人调用此代码时,不要进入该代码的入口
if __name__ == "__main__":
    main()

或者

#test.py
importos
importsys

#我自己的在项目里的模块
importmain.common.mysqlutil

deftest1():
    main.common.mysqlutil.print()
    
defmymain():
    test1()

#判断是否是程序主入口而已,如果是程序主入口,则代码块执行,否则代码块不执行#主要用于别人调用此代码时,不要进入该代码的入口
if __name__ == "__main__":
    mymain()  #名字不能和包的名字相同

或者

#test.py
importos
importsys

#我自己的在项目里的模块
from main.common.mysqlutil import *

deftest1():
    print()  #直接可以调用mysqlutil的方法, 这里也可以是类
    
defmain():
    test1()

#判断是否是程序主入口而已,如果是程序主入口,则代码块执行,否则代码块不执行#主要用于别人调用此代码时,不要进入该代码的入口
if __name__ == "__main__":
    main()

二、

python报错ModelNotFoundError

很可能是因为工作目录并不在sys.path中,系统无法默认的找到您的脚本文件,通过以下命令可以解决该问题:

>>> import sys
>>> sys.path.append('d:python_test') #括号内为工作文件夹路径
>>> import mymodel #引用的模块

查看配置的路径: 在python命令行中或者.py文件里

import sys
sys.path

python引入自己的包第1张

通过如下命令添加路径:

sys.path.append("C:UsersDELLDesktop	est")

这样这个路径就被添加进来。

在python的项目中,py文件里,我们可以用如下方法

我的文件目录是这样的

pythonprojectmaindata	est.py
pythonprojectmaincommonmysqlutil.py
# test.py
import
os importsys projectname = 'pythonproject' #获取当前文件的目录 curPath = os.path.abspath(os.path.dirname(__file__)) #print(curPath)#从后往前匹配项目#path = curPath[0: curPath.rfind(projectname)] rootPath = curPath[0: curPath.rindex(projectname)] +projectname print(rootPath) #括号内为工作文件夹路径#引用的模块#sys.path.append(r'path ofilepythonprojectmaincommon')#import mysqlutil #sys.path.append(r'path ofilepythonproject')#import main.common.mysqlutil#from main.common import mysqlutil #sys.path.append(rootPath) sys.path.append(rootPath) #我自己的在项目里的模块 from main.common importmysqlutil deftest1(): print() defmain(): test1() #判断是否是程序主入口而已,如果是程序主入口,则代码块执行,否则代码块不执行#主要用于别人调用此代码时,不要进入该代码的入口 if __name__ == "__main__": main()

免责声明:文章转载自《python引入自己的包》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用 window.getSelection() 方法获取鼠标划取部分的起始位置和结束位置的问题(高亮后不能正确获取)openstack之Glance介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python列表操作与深浅拷贝(5)——数字处理函数、类型判断、列表链表队列栈

python内建数据结构 分类 数值型:  int  float  complex  bool 序列对象: 字符串str  列表list  元组tuple 键值对:  集合set  字典dict 数值型 (list float complex bool都是class) int:python3 中 int 就是长整型,没有大小限制 float:支持十进制和科...

【Python】批量查询-提取站长之家IP批量查询的结果加强版本v3.0

1、工具说明 写报告的时候为了细致性,要把IP地址对应的地区给整理出来。500多条IP地址找出对应地区复制粘贴到报告里整了一个上午。 为了下次更好的完成这项重复性很高的工作,所以写了这个小的脚本。 某个项目每次改需求都是这么突然。 应 XX 每天要求各种省份域名统计,再加强下Domain to IP to 地区的脚本。 Domain2ip2locality...

python处理xml大文件[xml.sax]

博客已迁移, 新地址 ===================== 之前使用过python使用dom读取简单配置xml文件的http://blog.csdn.net/wklken/article/details/7270117 今天遇到大文件处理,使用dom占用资源太多,改用sax处理 dom和sax区别可以自己google下 需求:读取xml数据文件,文...

Python用27行代码绘制一幅满天星

前言 每一个孩子都像星空中的一颗星星,散发着自己所特有的光芒照亮着整个夜空。今天就带大家用27行Python代码绘制一幅满天星吧。 全局设置 在绘制满天星的过程中要运用到turtle工具,它是Python的标准库,也可以形象的称它为海龟库,它可以描绘绘图的轨迹,操作简单、快捷。首先,我们要做一些有关全局的设置 这一步主要是对turtle的画笔大小、绘...

python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)

最近在看机器学习方面的东西,经常遇到需要把某个类型的照片中 RGB 内容读取出来, 在python中照片显示用matplotlib就可以做到,但是导入不同格式的照片,保持出不同格式的照片numpy, scipy, matplotlib 往往不是很能搞的定,于是就有了先手动转换照片格式,然后再用scipy进行导入的这一步骤。今天在看代码的时候无意中发现了一个...

python 安装PyV8 和 lxml

近来在玩python爬虫,需要使用PyV8模块和lxml模块。但是执行pip install xx 或者easy_install xx 指令都会提示一些错误。这些错误有些是提示pip版本过低或者缺少vc++ 9.0环境,再或者一些头文件无法引用等等。我也懒得找错误解决方法。就直接下载Pyv8模块的安装包和lxml的安装包。 Pyv8的安装包链接: 1.针对...