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

多個Python項目怎么調(diào)用我自己的工具函數(shù)?

開發(fā)
有沒有什么辦法,能讓新開的項目直接就能導(dǎo)入這些工具函數(shù)呢?就像導(dǎo)入官方模塊import time一樣,如果我要使用時間相關(guān)的工具函數(shù),我只需要import time_util就可以了。

在多年寫代碼的過程中,我總結(jié)了不少常用的工具函數(shù)。這些工具函數(shù)有的能夠?qū)崿F(xiàn)快速重試網(wǎng)絡(luò)請求,有的可以把任意格式的時間轉(zhuǎn)成標(biāo)準(zhǔn)格式,還有的可以自動生成正則表達(dá)式。

我把這些工具函數(shù)分別放到多個.py文件中。然后把這些.py文件放在一個叫做my_awesome_util的文件夾中。

由于我沒有把這些代碼上傳到Pypi或者Github,因此我每次在新的項目中要使用時,都要把my_awesome_util文件夾復(fù)制到新的項目中,非常麻煩,而且會形成大量的重復(fù)代碼。

有沒有什么辦法,能讓新開的項目直接就能導(dǎo)入這些工具函數(shù)呢?就像導(dǎo)入官方模塊import time一樣,如果我要使用時間相關(guān)的工具函數(shù),我只需要import time_util就可以了。

首先要排除的方法,就是手動在代碼里面,通過sys.path添加文件夾。因為這個方法需要在每個項目的入口文件中增加兩行代碼,無法做到全自動。

今天的方法,是在Python的site-packages文件夾中做文章。相信很多同學(xué)都知道,任何放到site-packages文件夾里面的.py文件或者文件夾,都可以在Python中直接導(dǎo)入:

看到這里,肯定有同學(xué)要問,那是不是把my_awesome_util文件夾整個復(fù)制到site-packages文件夾中呢?

當(dāng)然不是的。因為我的工具包里面的代碼是在持續(xù)演進(jìn)的,我會經(jīng)常更新里面的代碼,放到site-packages里面以后,代碼修改起來很不方便。

我們要用到的,是Python的一個特性,叫做.pth文件。在site-packages文件夾中,任意創(chuàng)建一個.pth文件。文件名可以隨便取,只要不跟已有的模塊沖突就可以了。例如叫做xxxx.pth。這個文件里面只有一行,就是my_awesome_util文件夾的絕對路徑。例如:

現(xiàn)在,我在任何一個文件夾中啟動Python,直接就可以導(dǎo)入my_awesome_util文件夾中的任何.py文件:

.pth文件可以有很多行,每行一個文件夾的絕對路徑,就可以讓Python同時導(dǎo)入這些文件夾里面的所有.py文件。

有時候,我們的電腦上有多個虛擬環(huán)境。A環(huán)境有pandas,沒有pymongo;B環(huán)境有pymongo,但沒有pandas。現(xiàn)在我在B環(huán)境里面要寫一段代碼,既需要pandas,又需要pymongo怎么辦呢?如果不想重新安裝,我可以把A環(huán)境的site-packages文件夾的絕對路徑,寫入到一個.pth文件中,然后把這個文件存放到B環(huán)境的site-packages文件夾中。這樣,我就可以在B環(huán)境里面直接使用A環(huán)境中的所有第三方庫了。

有同學(xué)會問,怎么知道site-packages文件夾在哪里呢?其實只需要執(zhí)行下面兩行代碼就能查詢到:

>>> import sysconfig
>>> print(sysconfig.get_path('purelib'))

運(yùn)行效果如下圖所示:

責(zé)任編輯:趙寧寧 來源: 未聞Code
相關(guān)推薦

2023-10-26 11:37:35

函數(shù)Python

2021-02-02 10:53:16

Python編程開發(fā)

2014-08-13 11:20:10

創(chuàng)業(yè)者

2022-06-09 21:34:41

Python代碼函數(shù)

2024-06-05 08:33:42

2016-06-14 09:48:19

框架

2020-07-07 08:52:16

機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)工具人工智能

2011-07-20 10:45:36

sqlite數(shù)據(jù)庫sqlite擴(kuò)展函數(shù)

2020-05-19 07:59:39

JavaScript語言開發(fā)

2025-02-10 12:00:00

圖像分類OpenCVPython

2023-12-04 07:09:53

函數(shù)遞歸python

2010-03-26 15:55:47

Python腳本

2021-01-20 05:46:51

自動化Coco項目

2021-07-25 21:28:55

人臉識別人工智能工具

2020-12-14 08:09:03

弱口令工具掃描

2023-04-27 08:28:15

圖片壓縮工具

2010-10-14 09:55:06

Ubuntu 10.1

2023-01-13 13:26:38

ChatGPT醫(yī)學(xué)寫作能力

2015-12-14 16:48:09

完成業(yè)余項目

2016-12-19 14:35:50

軟件系統(tǒng)
點贊
收藏

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