【python】将自定义常用的一些函数封装成可以直接调用的模块方法

举报
华为云社区精选 发表于 2020/06/23 14:23:18 2020/06/23
【摘要】 在实际的操作过程中,经常会用到一个功能,如果每次编写代码的时候都进行重新编写或者打开已经编写好的函数进行复制粘贴,这样就显得很麻烦,有没有什么方法可以像导入python模块的那样,直接把要用的函数以模块名+方法的形式调用呢?

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

1. 背景

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


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

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

1 丨def concat_excels(pattern):
2 丨  import pandas as pd
3 丨  import os
4 丨  import glob
5 丨
6 丨  if not os.path.exists('filtered_data'):
7 丨      os.mkdir('filtered_data')
8 丨 
9 丨  file_paths = glob.glob(pattern)
10丨      
11丨  df = pd.DataFrame()
12丨  for file_path in file_paths:
13丨      df_ = pd.read_excel(file_path)
14丨      df = pd.concat([df,df_])
15丨  
16丨  df.to_excel('filtered_data/data_ok.xlsx',index = False)
17丨  print('Finished!')
18丨  
19丨 if __name__ == '__main__':
20丨  concat_excels('*.xlsx')


2. 具体步骤

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

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

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

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


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


3. 扩展

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


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

使用演示:

————————————————

版权声明:本文为CSDN博主「Be_melting」的原创文章

原文链接:https://blog.csdn.net/lys_828/article/details/106176229


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。