python 制作python包,封装成可用模块教程

作者:小菜菜1223 时间:2022-06-02 06:32:25 

首先编写py程序:

printtest.py

def test():
 print('print test')

将以上.py文件做成python模块,需要在相同目录下创建setup.py文件,setup.py中输入配置信息:


from setuptools import setup
setup(name='printtest',
 version='1.0',
 py_modules=['printtest'],
 )

打开终端,定位到该文件夹下,输入:

python setup.py sdist

此时在目录中生成dist文件夹,文件夹中有testpg-1.0.tar.gz文件,用户安装的话只需要testpg-1.0.tar.gz文件即可。将此文件解压得到testpg-1.0文件夹,会发现该文件夹有我们刚刚书写的3个py文件,还有一个PKG-INFO,打开该文件,会显示该模块的具体信息:由于我们没有设置,所以为UNKOWN

Metadata-Version: 1.0
Name: printtest
Version: 1.0
Summary: UNKNOWN
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN

终端定位到此文件夹下,输入以下命令,模块将会被安装到解释器对应的Lib/site-packages目录下:

python setup.py install

安装后,会发现Lib/site-packages目录下存在printtest.py文件和printtest-1.0-py3.6.egg-info

应用:

import printtest
printtest.test()

输出:

print test

补充知识:python 将自定义常用的一些函数封装成可以直接调用的模块方法

将常用一些的函数封装成可以直接调用的模块方法

1. 背景

在实际的操作过程中,经常会用到一个功能,如果每次编写代码的时候都进行重新编写或者打开已经编写好的函数进行复制粘贴,这样就显得很麻烦,有没有什么方法可以像导入python模块的那样,直接把要用的函数以模块名+方法的形式调用呢?

答案当然是可以的,比如做数据分析时候经常要使用的功能是:实现某一路径下的所有xlsx的合并,文件如下

python 制作python包,封装成可用模块教程

直接给出合并的函数,保留数据格式筛选的接口,将合并后的数据保存在fltered_data文件夹下的data_ok.xlsx文件中


def concat_excels(pattern):
import pandas as pd
import os
import glob

if not os.path.exists('filtered_data'):
  os.mkdir('filtered_data')

file_paths = glob.glob(pattern)

df = pd.DataFrame()
for file_path in file_paths:
  df_ = pd.read_excel(file_path)
  df = pd.concat([df,df_])

df.to_excel('filtered_data/data_ok.xlsx',index = False)
print('Finished!')

if __name__ == '__main__':
concat_excels('*.xlsx')

2. 具体步骤

第一步:首先找到当前编辑器(可能会存在多个python解析器)对应的第三方库的安装路径,如果不知道具体的位置,可以在使用的编辑器窗口输入如下代码,这里以requests库为例,查看一下第三方库的文件位置,红色标记的即是

python 制作python包,封装成可用模块教程

第二步:将上面的函数所在py文件命名,可以以自己名字的简称进行命名,即方便导入也方便自己记住。然后将保存好的py文件移动到上面的红色标记下,如下图

python 制作python包,封装成可用模块教程

第三步:在欲合并的文件夹下创建一个py文件(比如命名为:合并数据.py),如下

python 制作python包,封装成可用模块教程

第四步:编辑代码,直接导入模块和方法完成文件数据的合并,代码运行截图如下,这样就是实现了多文件的合并,括号中保留了合并数据的筛选格式,方便进行之后不同格式的Excel文件的合并

from 模块名 import * 意思是导入该模块的所有的方法(可以直接调用函数)

python 制作python包,封装成可用模块教程

3. 扩展

通过这种方式,就可以把我们在日常工作中经常使用的方法(要实现的功能)都放置在以自己命名的py文件中,使用的时候直接就可以调用非常简单,如果需要添加,就打开这个py文件,把代码复制粘贴进去就可以了。

比如在处理图像时候,可以直接把图片的读取过程中色彩的矫正和图片的显示封装成函数,在使用的时候一行代码就可以实现之前繁杂的程序

python 制作python包,封装成可用模块教程

使用演示:

python 制作python包,封装成可用模块教程

来源:https://blog.csdn.net/qq_40771567/article/details/88990830

标签:python,封装,模块
0
投稿

猜你喜欢

  • Python删除指定目录下过期文件的2个脚本分享

    2022-09-11 19:01:10
  • 关于浏览器地址栏的小图标favicon.ico制作

    2010-03-07 15:57:00
  • php删除路径下的所有文件夹和文件的代码

    2023-05-27 18:44:35
  • mysql 重启方法(初学者)

    2010-12-03 16:40:00
  • PHP设计模式之观察者模式浅析

    2023-05-27 12:20:11
  • Python使用cx_Oracle调用Oracle存储过程的方法示例

    2021-01-26 19:37:28
  • 使用Python脚本在Linux下实现部分Bash Shell的教程

    2023-10-02 06:55:28
  • Python PyQt5模块实现一个浏览器的示例代码

    2022-02-22 04:23:47
  • 解决python虚拟环境切换无效的问题

    2023-02-01 14:37:50
  • python爬取网页版QQ空间,生成各类图表

    2023-01-18 06:30:58
  • 组件:Adodb.Stream 用法介绍

    2008-10-09 12:39:00
  • python生成带有表格的图片实例

    2023-05-22 03:30:16
  • css命名及书写规范大全

    2008-05-24 08:52:00
  • 解决Python3.7.0 SSL低版本导致Pip无法使用问题

    2023-08-22 01:46:55
  • [翻译]标记语言和样式手册 Chapter 12 CSS布局

    2008-02-13 14:19:00
  • 分析Python读取文件时的路径问题

    2022-03-24 10:22:48
  • Python使用shutil模块实现文件拷贝

    2021-02-01 14:46:28
  • ASP验证码的实现原理及源码

    2007-10-02 12:14:00
  • python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

    2023-10-06 12:13:03
  • 浅析Go设计模式之Facade(外观)模式

    2023-07-16 19:23:08
  • asp之家 网络编程 m.aspxhome.com