當前位置:首頁 » 編程語言 » python自定義模塊

python自定義模塊

發布時間: 2024-12-26 21:41:37

① 如何在python中添加自定義模塊

1、說明

python添加自定義第三方模塊使用pip命令。

2、步驟

以安裝requests模塊為例說明

1)打開命令行

win+r打開運行,輸入cmd點確定

如不報錯則說明安裝成功

② 如何在python中添加自定義模塊

一般來說,我們會將自己寫的python模塊與python自帶的模塊分開存放以達到便於維護的目的。
Python 運行環境在查找庫文件時是對 sys.path 列表進行遍歷,如果我們想在運行環境中注冊新的類庫,主要有以下三種方法:
在sys.path列表中添加新的路徑。
設置PYTHONPATH環境變數。
將庫文件復制到sys.path列表中的目錄里(如site-packages目錄)。
其實,最簡單的辦法是用 .pth 文件來實現。Python 在遍歷已知的庫文件目錄過程中,如果見到一個 .pth 文件,就會將文件中所記錄的路徑加入到 sys.path 設置中,這樣 .pth 文件說指明的庫也就可以被 Python 運行環境找到。
操作:
在Python/Lib/site-package目錄下創建一個MyMole.pth文件,其中內容為自定義的模塊所在的路徑。
Config代碼
C:\Project
C:\Project 這樣Project目錄下的python文件就可以被找到了。

謝謝採納

③ python有多少個模塊(python常用的模塊有哪些)

今天給各位分享python有多少個模塊的知識,其中也會對python常用的模塊有哪些?進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

本文目錄一覽:

1、Python開發中常用的模塊有哪些2、python目前三方提供的可用編程模塊函數庫組件規模有多大3、python中都有哪些模塊呢4、Python中的模塊5、Python模塊的幾種類型簡介Python開發中常用的模塊有哪些

一、導入模塊

importmole

frommole.xximportxx

frommole.xximportxxasrename

frommole.xximport*

二、開源模塊

yum、pip、apt-get

源碼編譯安裝:Pythonsetup.pybuildPythonsetupinstall

三、常用模塊

os模塊#用作系統級別的工作

sys模塊#提供解釋器相關操作

hashlib模塊#用於加密相關的操作

json和pickle模塊#用於序列化數據

subprocess模塊

shuit模塊#文件的復制移動

logging模塊#格式化記錄日誌

random模塊用於取隨機數

timedatetime模塊時間模塊

re模塊正則匹配

python目前三方提供的可用編程模塊函數庫組件規模有多大

C++,Java和Python是競爭性編程的三種最常見的語言。在本文中,我們將從競爭性編程和面試准備的角度重點介紹最重要的Python模塊。

?

list:動態大小的數組,允許在不關心數組大小的情況下進行插入和刪除。它還具有普通數組的優點,例如隨機訪問緩存友好性。list也可以用作隊列和堆棧。

deque:Dequeue支持在O(1)時間內在兩端進行插入和刪除。由於它是使用數組實現的,因此它也允許隨機訪問。我們可以使用dequeue來實現隊列和堆棧。關於Deque的示例問題是,訪問所有的汽油泵和所有大小為k的子陣列的最大值。

請注意,Python中沒有用於隊列(Queue)和堆棧(Stack)的模塊。我們可以使用列表(list)或雙端隊列(deque)來實現這些。首選雙端隊列(deque)實現,尤其是對於隊列,因為在列表前面進行插入/刪除很慢。

在我們希望具有FIFO項目順序的情況下,隊列(Queue)很有用。問題示例包括:用給定的數字生成數字,流中的第一個非重復字元,樹及其變體的級序遍歷,圖的BFS及其變體。

set和dict:它們都實現了哈希。當我們有鍵的集合時,我們使用set。當我們有鍵值對時,我們使用字典(dictionary)。當我們希望快速搜索、插入和刪除時非常有用(這三個操作都是O(1))。這是業界使用最多的數據結構之一,也是學術界最低估的數據結構之一。常見的問題有:離散元素的計數、數組項的頻率、零和子陣、兩個未排序數組的並集、交集等。

heapq:默認情況下實現MinHeap。我們也可以創建最小堆。只要我們希望有效地找到最小或最大元素,就使用它。它用於實現流行的演算法,例如Prim演算法,Dijkstra最短路徑,霍夫曼編碼,K個最大元素,購買和合並K個排序數組的最大玩具,流的中位數。

sorted:對列表等序列進行排序。基於排序的示例問題包括:合並重疊間隔,所需的最小平台。第K個最小元素,求給定和的三元組。

bisect:用於二進制搜索。基於二進制搜索的示例問題有:查找第一次出現的索引、計數出現次數、峰值元素、兩個排序數組的中值。

注意:與C++STL和Java集合(Collections)不同。Python標准庫包含自平衡BST的實現。在Python中,我們可以使用bisect模塊來保留一組排序後的數據。我們還可以使用PyPi模塊,例如rbtree(紅黑樹的實現)和pyavl(AVL樹的實現)。

python中都有哪些模塊呢

os模塊

os.getcwd()#獲取當前工作目錄,即當前python腳本工作的目錄路徑

os.chdir("dirname")#改變當前腳本工作目錄;相當於shell下cd

os.curdir#返回當前目錄:('.')

os.pardir#獲取當前目錄的父目錄字元串名:('..')

os.makedirs('dirname1/dirname2')#可生成多層遞歸目錄

os.removedirs('dirname1')#若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推

os.mkdir('dirname')#生成單級目錄;相當於shell中mkdirdirname

os.rmdir('dirname')##刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdirdirname

os.listdir('dirname')#列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式列印

os.remove()#刪除一個文件

os.rename("oldname","newname")#重命名文件/目錄

os.stat('path/filename')#獲取文件/目錄信息

os.sep#輸出操作系統特定的路徑分隔符,win下為"\",Linux下為"/"

os.linesep#輸出當前平台使用的行終止符,win下為" ",Linux下為" "

os.pathsep#輸出用於分割文件路徑的字元串win下為;,Linux下為:

os.name#輸出字元串指示當前使用平台。win-'nt'Linux-'posix'

os.system("bashcommand")#運行shell命令,直接顯示

os.environ#獲取系統環境變數

os.path.abspath(path)#返回path規范化的絕對路徑

os.path.split(path)#將path分割成目錄和文件名二元組返回

os.path.dirname(path)#返回path的目錄。其實就是os.path.split(path)的第一個元素

os.path.basename(path)#

返回path最後的文件名。如何path以/或結尾,那麼就會返回空值。即os.path.split(path)的第二個元素

os.path.exists(path)#如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path)#如果path是絕對路徑,返回True

os.path.isfile(path)#如果path是一個存在的文件,返回True。否則返回False

os.path.isdir(path)#如果path是一個存在的目錄,則返回True。否則返回False

os.path.join(path1[,path2[,...]])#將多個路徑組合後返回,第一個絕對路徑之前的參數將被忽略

os.path.getatime(path)#返回path所指向的文件或者目錄的最後訪問時間

os.path.getmtime(path)#返回path所指向的文件或者目錄的最後修改時間

os.path.getsize(path)#返回path的大小

sys模塊

sys.argv#命令行參數List,第一個元素是程序本身路徑

sys.exit(n)#退出程序,正常退出時exit(0)

sys.version#獲取Python解釋程序的版本信息

sys.maxint#最大的Int值

sys.path#返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變數的值

sys.platform#返回操作系統平台名稱

datetime模塊

datetime.today()返回一個表示當前本期日期時間的datetime對象

datetime.now([tz])返回指定時區日期時間的datetime對象,如果不指定tz參數則結果同上

datetime.utcnow()返回當前utc日期時間的datetime對象

datetime.fromtimestamp(timestamp[,tz])根據指定的時間戳創建一個datetime對象

datetime.utcfromtimestamp(timestamp)根據指定的時間戳創建一個datetime對象

datetime.strptime(date_str,format)將時間字元串轉換為datetime對象

Python中的模塊

importos

print(os.name)?#操作系統名稱?Windowsnt非Windowsposix

print(os.sep)?#路徑分隔符??Windows??其他/

importos

#使用os.path方法獲取文件的路徑

#001.獲取文件的絕對路徑使用abspath方法

print(os.path.abspath("04_模塊導入.py"))

#?運行結果:D:mypycharmpythonProject千峰培訓day11mole14_模塊導入.py

#002判斷是否是文件False

print(os.path.isdir(""))?

#運行結果:False

#003.判斷文件是否存在如果存在返回True否則返回False

print(os.path.exists("mydir"))

#True

importos

files="2020.12.22.test.py"

print(files.rpartition(".")[-1])?

print(os.path.splitext(files)[-1])

#運行結果:

#獲取文件的後綴名?py

#獲取文件的後綴名.py

importos

print(os.getcwd())

#運行結果:

#D:mypycharmpythonProject培訓day11mole1

importos

os.chdir("mydir")

print(os.getcwd())

#D:mypycharmpythonProject培訓day11mole1mydir

importos

os.rename("66.py","../99.py")

importos

#001.刪除文件

os.remove("../99.py")

#002.刪除空文件夾

os.rmdir("../mydir")

os.removedirs("mydir")

importos

os.mkdir("mydir")

importos

#001.列出指定目錄里所有的子目錄和文件

print(os.listdir("D:mypycharmpythonProject"))

#002.默認當前目錄里的子目錄和文件

print(os.listdir())

#運行結果:

#['.idea','千峰培訓','學校實習']

#[༿_mole.py',ཀ_模塊導入.py',ཁ_os.py',񟭔.12.22.tests.py','a01_mole1.py','a02_mole2.py','__pycache__']

importos

print(os.environ)

print(os.environ["PATH"])

importos

importstring?#字元串模塊

importrandom

files="test.jpg"

#?01.獲取文件的後綴

surffix=os.path.splitext(files)[-1]

#print(surffix)?#.jpg

#02.生成所有大小寫字母的列表

res=list(string.ascii_letters)

#print(string.ascii_letters)

#運行結果;

#?03.將0-9添加到res中

foriinrange(0,10):

??res.append(str(i))

#04.隨機生成文件名:

mystr="".join(random.sample(res,10))?#?sample隨機生成10個字元

#print(mystr)

#bJpED6dj2Y

#05.將文件名和後綴拼接

print(mystr+surffix)

importsys

print(sys.path)

res=sys.stdin

print(res)

importmath

#print(math.pi)?#3.141592653589793

print(math.factorial(5))?#120

#冪運算第一個參數是底數第二個參數是冪

print(math.pow(2,3))?#8.0

#向上取整和向下取整

print(math.floor(15.999))?#15

print(math.ceil(15.001))?#16

#四捨五入

print(round(123.51,1))?#123.5

#三角函數

print(math.sin(math.pi/6))?#sin(pi/6)0.49999999999999994

print(math.cos(math.pi/3))?#sin(pi/3)0.5000000000000001

print(math.tan(math.pi/4))?#sin(pi/6)0.9999999999999999

#開方

a=9

b=16

print(math.sqrt(a+b))?#5.0

#以e為底的指數函數

print(math.exp(a))

#?8103.083927575384

importrandom

#01.random()?隨機生成[0,1)之間的數?前閉後開

print(random.random())?#生成[0,1)之間的小數

#02.randint()生成范圍內的隨機整數????全閉

print(random.randint(10,20))?#生成[10,20]之間的整數

#03.randrange()生成范圍內的隨機整數???前閉後開

print(random.randrange(10,20))?#生成[10,20)之間的整數

#04.choice?參數是列表?隨機從列表中取一個?取一次

print(random.choice([1,2,3,4,5,6,77,8,9]))

#05.sample的第一個參數必須是一個可迭代對象

#?????第二個參數代表著從可迭代對象從隨機選取幾個,選取的對象不能重復

print("".join(random.sample(["a","b","c","d"],3)))

importdatetimeasdt#引入datetime模塊並將其命別名為dt

importtime

importcalendar?#引入日歷模塊

#01.datetime模塊

#001.獲取當前時間的具體信息

print(dt.datetime.now())?

#運行結果:

#2020-12-2615:36:36.408129

#年??月日?時分秒?毫秒

#002.創建日期

print(dt.date(2020,1,1))?

#年月日?2020-01-01

#003.創建時間

print(dt.time(16,30,30))

#時分秒:?16:30:30

#004.timedelta()括弧中的默認參數是天

print(dt.datetime.now()+dt.timedelta(3))?#2020-12-2515:50:15.811738

print(dt.datetime.now()+dt.timedelta(hours=3))?#2020-12-2218:51:41.723093

print(dt.datetime.now()+dt.timedelta(minutes=10))?#2020-12-2216:01:41.723093

#02.time

#001.當前時間的時間戳

#時間戳是指從1970—01-010:0:0到現在的秒數utc時間也叫格林尼治時間?

print(time.time())

#002.按照指定格式輸出時間

#print(time.strftime("%Y-%m-%d%H:%M:%S"))?#2020-12-2215:57:49

#時間格式:

#%Y?.

#%m?Monthasadecimalnumber[01,12].

#%d?Dayofthemonthasadecimalnumber[01,31].

#%H?Hour(24-hourclock)asadecimalnumber[00,23].

#%M?Minuteasadecimalnumber[00,59].

#%S?Secondasadecimalnumber[00,61].

#%z?TimezoneoffsetfromUTC.

#%a?Locale'sabbreviatedweekdayname.

#%A?Locale'sfullweekdayname.

#%b?Locale'sabbreviatedmonthname.

#%B?Locale'sfullmonthname.

#%c?Locale'.

#%I?Hour(12-hourclock)asadecimalnumber[01,12].

#%p?Locale'sequivalentofeitherAMorPM.

#003.ctime和asctime時間格式?輸出的時間格式一樣,

#print(time.asctime())?#TueDec2215:57:492020

#print(time.ctime())?#TueDec2215:58:352020

#004.sleep()?時間休眠

print("我負責浪")

print(time.sleep(3))

print("你負責漫")

#005.calender生成日歷

res=calendar.calendar(2021)?#生成2021年的日歷

print(res)

#006.判斷是否為閏年

print(calendar.isleap(2020))?#True

#007.從1988年到2020年有多少個閏年

print(calendar.leapdays(1988,2020))?#8

Python模塊的幾種類型簡介

1、系統內置模塊

os模塊:os模塊包含普遍的操作系統功能

sys模塊:提供了一系列有關Python運行環境的變數和函數

random模塊:random模塊用於生成隨機數

time模塊:主要包含各種提供日期、時間功能的類和函數

datetime模塊:對time模塊的一個高級封裝

shutil模塊:是一種高層次的文件操作工具

logging模塊:將日誌列印到了標准輸出中

re模塊:可以直接調用來實現正則匹配

pymysql模塊:連接資料庫,並實現簡單的增刪改查

threading模塊:提供了更強大的多線程管理方案

queue模塊:實現了多生產者,多消費者的隊列

json模塊:用於字元串和數據類型間進行轉換json

2、開源(三方)模塊

Requests:最富盛名的http庫。每個Python程序員都應該有它。

Scrapy:從事爬蟲相關的工作,這個庫也是必不可少的。

NumPy:為Python提供了很多高級的數學方法。

matplotlib:一個繪制數據圖的庫。對於數據分析師非常有用。

Pygame:開發2D游戲的時候可以用上。

Scapy:用Python寫的數據包探測和分析庫。

Django:開源Web開發框架,它鼓勵快速開發,並遵循MVC設計,開發周期短。

Py2exe:將python腳本轉換為windows上可以獨立運行的可執行程序。

BeautifulSoup:基於Python的HTML/XML解析器,簡單易用。

PyGtk:基於Python的GUI程序開發GTK+庫。

3、自定義模塊

自定義模塊是

④ Python調用自定義模塊方法有什麼

import語句

自定義模塊可以採用import語句來進行引入,其操作步驟是先導入模塊,再調用模塊中包含的函數,可將自定義模塊放入當前目錄,便於解釋器路徑搜索,以下是導入自定義hello.py模塊,並調用World函數的實例:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

#導入模塊

import hello

#現在可以調用模塊里包含的函數了

support.print_func("World")

輸出結果為:

Hello World!

以上實例也可以採用from…import的方法進行實現,是指從一個模塊中導入指定的部分到當前命名空間中,以上功能可寫成:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

from hello import World

如果要將模塊中的所有內容全部導入當前命名空間,可採用from…import*的方法,具體實例如下:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

from hello import *

還需注意,當要導入一個模塊時,Python解釋器會對模塊的位置進行搜索,具體搜索順序規律如下:

1.當前目錄;

2.如果不在當前目錄,Python則搜索在shell變數PYTHONPATH下的每個目錄;

3.如果都找不到,Python會察看默認路徑。

熱點內容
安卓怎麼設置照片格式 發布:2024-12-27 11:50:05 瀏覽:168
逍遙絕腳本 發布:2024-12-27 11:44:59 瀏覽:430
我的世界哪個伺服器可以1v1 發布:2024-12-27 11:43:37 瀏覽:933
c語言關鍵字有 發布:2024-12-27 11:41:54 瀏覽:367
gccc語言編譯命令 發布:2024-12-27 11:41:06 瀏覽:188
歐美版思域是什麼版本配置 發布:2024-12-27 11:20:45 瀏覽:251
具醫院的wifi密碼是什麼 發布:2024-12-27 11:20:07 瀏覽:77
dll伺服器如何重啟 發布:2024-12-27 11:19:58 瀏覽:953
安卓怎麼把視頻變成模糊 發布:2024-12-27 11:18:37 瀏覽:962
oracle分頁sql怎麼寫 發布:2024-12-27 11:02:02 瀏覽:846