![]()
进行自定义包调用的时候
如果将包视为文件夹,可以直接通过
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 *