python9

 

进行自定义包调用的时候

如果将包视为文件夹,可以直接通过
from work(报名字) import  toos(包里面的文件名)
然后再通过 toos.gen_trans_id()(文件里面的函数名字)调用

这种情况不能通过import work调用

如果要通过import work直接调用,work包里面必须包含文件
__init__.py
且这个文件必须引入work文件夹里面的其他文件
from .toos import *
调用就是通过  work.get_file_type(file_name)
不在需要经过toos

 

 

 

work/toos.py
import  os.path
import static
def get_file_type(fle_name):
    """
    根据文件的名称判断文件的类型
    :param fle_name:
    :return: int 文件类型
    """
    result = static.FILE_TYPE_UNKNOW
    #判断是否是文件路径,必须有这个文件才可以的,
    #if not os.path.isfile(fle_name):
    #    return result
    #文件的后缀可能是大写或小写,所以统一换成小写
    path_name,ext = os.path.splitext(fle_name)
    print(ext)
    ext = ext.lower()
    if ext in {'.png','.jpg','.gif','.bmp'}:
        result = static.FILE_TYPE_IMG
    elif ext in {".doc",".docx"}:
        result = static.FILE_TYPE_DOC
    elif ext in {".ppt",".pptx"}:
        result = static.FILE_TYPE_PPT
    elif ext in {".xls",".xlsx"}:
        result = static.FILE_TYPE_EXCEL
    elif ext in {".exe"}:
        result = static.FILE_TYPE_EXE
    return result
def abc():
    print("abc")
test.py
from  datetime import datetime
#from trans.toos import gen_trans_id
#from work.toos import get_file_type
from  trans import  toos as ttool
#from work import  toos as wtool
import work
def test_trans_tool():
    """
    测试trans 下的tools模块
    """
    id1 = ttool.gen_trans_id()
    print(id1)
    date = datetime(2016, 10, 2, 12, 30, 45)
    id2 = ttool.gen_trans_id(date)
    print(id2)

def test_work_tool():
    """
    测试work模块
    :return:
    D:\\Program Files (x86)\\Tencent\\QQ\\QQUninst.exe
    """
    file_name = "D:\\Program Files (x86)\\Tencent\\QQ\\QQUninst.doc"
    rest = work.get_file_type(file_name)
    print(rest)

if __name__ == "__main__":
    test_trans_tool()
    test_work_tool()
static.py
#文件类型常量
FILE_TYPE_UNKNOW = 10   #未知文件
FILE_TYPE_IMG = 11  #图片
FILE_TYPE_DOC = 12  #文档
FILE_TYPE_EXCEL = 13    #excel文档
FILE_TYPE_PPT = 14  #ppt 文件
FILE_TYPE_EXE = 15  #执行文件
work/__init__.py
from .toos import *

 

posted @ 2020-04-10 21:38  linux——quan  阅读(250)  评论(0编辑  收藏  举报