自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何Import自定義的Python模塊?

開發(fā) 后端
實(shí)際工作中,經(jīng)常要用的功能能不能像導(dǎo)入python模塊一樣,通過import導(dǎo)入呢?答案當(dāng)然是可以的,本文教你如何做,大家一起來學(xué)習(xí)吧!

實(shí)際工作中,經(jīng)常要用的功能能不能像導(dǎo)入python模塊一樣,通過import導(dǎo)入呢?答案當(dāng)然是可以的,本文教你如何做,大家一起來學(xué)習(xí)吧!

背景

在實(shí)際的工作過程中,經(jīng)常會(huì)用到一個(gè)功能,如果每次編寫代碼的時(shí)候都進(jìn)行重新編寫或者打開已經(jīng)編寫好的函數(shù)進(jìn)行復(fù)制粘貼,這樣就顯得很麻煩,有沒有什么方法可以像導(dǎo)入python模塊的那樣,直接把要用的函數(shù)以模塊名+方法的形式調(diào)用呢?

答案當(dāng)然是可以的,比如做數(shù)據(jù)分析時(shí)候經(jīng)常要使用的功能是:實(shí)現(xiàn)某一路徑下的所有xlsx的合并,文件如下

直接給出合并的函數(shù),保留數(shù)據(jù)格式篩選的接口,將合并后的數(shù)據(jù)保存在fltered_data文件夾下的data_ok.xlsx文件中 

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

具體步驟

第一步:首先找到當(dāng)前編輯器(可能會(huì)存在多個(gè)python解析器)對(duì)應(yīng)的第三方庫的安裝路徑,如果不知道具體的位置,可以在使用的編輯器窗口輸入如下代碼,這里以requests庫為例,查看一下第三方庫的文件位置,紅色標(biāo)記的即是

第二步:將上面的函數(shù)所在py文件命名,可以以自己名字的簡稱進(jìn)行命名,即方便導(dǎo)入也方便自己記住。然后將保存好的py文件移動(dòng)到上面的紅色標(biāo)記下,如下圖

第三步:在欲合并的文件夾下創(chuàng)建一個(gè)py文件(比如命名為:合并數(shù)據(jù).py),如下圖

第四步:編輯代碼,直接導(dǎo)入模塊和方法完成文件數(shù)據(jù)的合并,代碼運(yùn)行截圖如下,這樣就是實(shí)現(xiàn)了多文件的合并,括號(hào)中保留了合并數(shù)據(jù)的篩選格式,方便進(jìn)行之后不同格式的Excel文件的合并

from 模塊名 import * 意思是導(dǎo)入該模塊的所有的方法(可以直接調(diào)用函數(shù))

擴(kuò)展

通過這種方式,就可以把我們?cè)谌粘9ぷ髦薪?jīng)常使用的方法(要實(shí)現(xiàn)的功能)都放置在以自己命名的py文件中,使用的時(shí)候直接就可以調(diào)用非常簡單,如果需要添加,就打開這個(gè)py文件,把代碼復(fù)制粘貼進(jìn)去就可以了。

比如在處理圖像時(shí)候,可以直接把圖片的讀取過程中色彩的矯正和圖片的顯示封裝成函數(shù),在使用的時(shí)候一行代碼就可以實(shí)現(xiàn)之前繁雜的程序

使用演示:

 

 

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運(yùn)維
相關(guān)推薦

2024-01-01 13:27:44

pydoc工具代碼

2012-05-18 10:52:20

TitaniumAndroid模塊自定義View模塊

2009-12-17 15:42:25

Rails自定義Hel

2013-06-27 11:10:01

iOS開發(fā)自定義UISlider

2009-09-07 22:00:15

LINQ自定義

2010-02-07 14:02:16

Android 界面

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2020-10-20 09:27:48

Python開發(fā)數(shù)據(jù)類型

2010-02-12 09:32:51

Windows 7修改登錄畫面

2015-02-12 15:33:43

微信SDK

2022-01-14 09:17:13

PythonAPISIX插件

2015-01-14 15:06:48

定義相機(jī)

2015-02-12 15:38:26

微信SDK

2009-09-03 13:34:03

.NET自定義控件

2023-01-03 07:40:27

自定義滑塊組件

2021-12-31 08:43:45

插件KubeScheduler

2022-04-20 18:22:18

CSS拖拽預(yù)覽圖

2022-04-14 06:20:25

GNOME桌面應(yīng)用

2015-09-24 10:40:12

自定義Live CDUbuntu

2009-08-04 13:31:35

C#自定義事件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)