python 制作python包,封裝成可用模塊教程
首先編寫(xiě)py程序:
printtest.py
def test():
print('print test')
將以上.py文件做成python模塊,需要在相同目錄下創(chuàng)建setup.py文件,setup.py中輸入配置信息:
from setuptools import setup setup(name='printtest', version='1.0', py_modules=['printtest'], )
打開(kāi)終端,定位到該文件夾下,輸入:
python setup.py sdist
此時(shí)在目錄中生成dist文件夾,文件夾中有testpg-1.0.tar.gz文件,用戶安裝的話只需要testpg-1.0.tar.gz文件即可。將此文件解壓得到testpg-1.0文件夾,會(huì)發(fā)現(xiàn)該文件夾有我們剛剛書(shū)寫(xiě)的3個(gè)py文件,還有一個(gè)PKG-INFO,打開(kāi)該文件,會(huì)顯示該模塊的具體信息:由于我們沒(méi)有設(shè)置,所以為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
終端定位到此文件夾下,輸入以下命令,模塊將會(huì)被安裝到解釋器對(duì)應(yīng)的Lib/site-packages目錄下:
python setup.py install
安裝后,會(huì)發(fā)現(xiàn)Lib/site-packages目錄下存在printtest.py文件和printtest-1.0-py3.6.egg-info
應(yīng)用:
import printtest
printtest.test()
輸出:
print test
補(bǔ)充知識(shí):python 將自定義常用的一些函數(shù)封裝成可以直接調(diào)用的模塊方法
將常用一些的函數(shù)封裝成可以直接調(diào)用的模塊方法
1. 背景
在實(shí)際的操作過(guò)程中,經(jīng)常會(huì)用到一個(gè)功能,如果每次編寫(xiě)代碼的時(shí)候都進(jìn)行重新編寫(xiě)或者打開(kāi)已經(jīng)編寫(xiě)好的函數(shù)進(jìn)行復(fù)制粘貼,這樣就顯得很麻煩,有沒(méi)有什么方法可以像導(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文件中
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. 具體步驟
第一步:首先找到當(dāng)前編輯器(可能會(huì)存在多個(gè)python解析器)對(duì)應(yīng)的第三方庫(kù)的安裝路徑,如果不知道具體的位置,可以在使用的編輯器窗口輸入如下代碼,這里以requests庫(kù)為例,查看一下第三方庫(kù)的文件位置,紅色標(biāo)記的即是

第二步:將上面的函數(shù)所在py文件命名,可以以自己名字的簡(jiǎn)稱進(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ù))

3. 擴(kuò)展
通過(guò)這種方式,就可以把我們?cè)谌粘9ぷ髦薪?jīng)常使用的方法(要實(shí)現(xiàn)的功能)都放置在以自己命名的py文件中,使用的時(shí)候直接就可以調(diào)用非常簡(jiǎn)單,如果需要添加,就打開(kāi)這個(gè)py文件,把代碼復(fù)制粘貼進(jìn)去就可以了。
比如在處理圖像時(shí)候,可以直接把圖片的讀取過(guò)程中色彩的矯正和圖片的顯示封裝成函數(shù),在使用的時(shí)候一行代碼就可以實(shí)現(xiàn)之前繁雜的程序

使用演示:

以上這篇python 制作python包,封裝成可用模塊教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 從遠(yuǎn)程服務(wù)器下載日志文件的程序
本文提供了一種方法,該程序可實(shí)現(xiàn)抓取服務(wù)器的日志文件到本地,根據(jù)該程序可自行擴(kuò)展對(duì)日志文件的自動(dòng)化分析。常用于數(shù)據(jù)挖掘、生產(chǎn)維護(hù)等2013-02-02
Python實(shí)現(xiàn)敲擊木魚(yú)積累功德小項(xiàng)目
最近大家都很流行用手機(jī)敲擊電子木魚(yú)積累功德,這在很多短視頻中也常常見(jiàn)到。本文將用Python實(shí)現(xiàn)這一效果,感興趣的小伙伴可以了解一下2022-11-11
python爬蟲(chóng)Scrapy框架:媒體管道原理學(xué)習(xí)分析
這篇文章主要介紹了python爬蟲(chóng)Scrapy框架:媒體管道原理學(xué)習(xí)分析,有需要的朋友可以借鑒參考,希望可以對(duì)廣大一同學(xué)習(xí)的讀者朋友有所幫助2021-09-09
TensorFlow人工智能學(xué)習(xí)數(shù)據(jù)類(lèi)型信息及轉(zhuǎn)換
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)數(shù)據(jù)類(lèi)型信息及轉(zhuǎn)換,2021-11-11

