亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python os模塊和fnmatch模塊的使用介紹

 更新時(shí)間:2021年03月10日 09:44:48   作者:bainianminguo  
這篇文章主要介紹了python os模塊和fnmatch模塊的使用介紹,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

一、先介紹一下os模塊

import os
 
print(os.getcwd())
# E:\python\test\python_models
# 獲取當(dāng)前的目錄
 
 
print(os.listdir("."))
# ['oop.py', 'python_argparse.py', 'python_click.py', 'python_os.py', 'python_re.py', 'python_requests.py', 'xx.py', '__init__.py']
# 列出指定目錄下的所有文件和文件夾,返回的是一個(gè)列表

1、拆分路徑的方法介紹

# 1、拆分路徑的方法介紹
# os.path模塊用來對文件和路徑進(jìn)程管理,顯示他包含很多拆分路徑的函數(shù),os.path模塊中和拆分路徑相關(guān)的函數(shù)有
 
# os.path.split()  返回一個(gè)二元組,包含文件的路徑和文件名
# os.path.dirname()  返回文件的路徑
# os.path.basename()   返回文件的文件名
# os.path.splitext()     返回一個(gè)不包括文件擴(kuò)展名的部分和文件擴(kuò)展名的二元組
 
# 下面演示一下上面介紹的方法
path = "G:\新建文件夾\瘋狂\永久地址.txt"
 
print(os.path.split(path))
# ('G:\\新建文件夾\\瘋狂', '永久地址.txt')
 
print(os.path.dirname(path))
# G:\新建文件夾\瘋狂
 
print(os.path.basename(path))
 
print(os.path.splitext(path))
# ('G:\\新建文件夾\\瘋狂\\永久地址', '.txt')

2、構(gòu)建文件路徑的方法介紹

# 2、構(gòu)建路徑的方法介紹
# python工程師可以使用os.path模塊方便的拆分路徑,相應(yīng)的,os.path模塊的也包含了用以構(gòu)建路徑的函數(shù),其中最常用的是
 
# os.path.expanduser()    展開用戶的HOME目錄,比如~,~username
# os.path.abspath()         得到文件或路徑的絕對路徑
# os.path.join()              根據(jù)不同的操作系統(tǒng)平臺,使用不用的路徑分隔符拼接路徑
 
# 下面演示一下上面介紹的方法
# os.path.expanduser("~mysql") 返回mysql用戶的HOME目錄,我這里是windows平臺,就不演示這個(gè)命令了
 
 
print(os.path.abspath("."))
# E:\python\test\python_models
 
print(os.path.abspath(".."))
# E:\python\test
 
# 相應(yīng)的有一個(gè)方法可以判斷一個(gè)路徑是否為絕對路徑
print(os.path.isabs("."))
# False
print(os.path.isabs(os.path.abspath(".")))
# True
 
 
print(os.path.join(os.path.abspath("."),"test","join.text"))
# E:\python\test\python_models\test\join.text
 
# 在python代碼中,可使用__file__這個(gè)特殊的變量表示當(dāng)前代碼所在的源文件,在編寫代碼時(shí),有時(shí)候需要導(dǎo)入當(dāng)前源文件父目錄下的軟件包,因此需要用到
# 這里的路徑函數(shù)獲取源文件的父目錄,如下所示
path = os.path.abspath(__file__)
print(path)
# E:\python\test\python_models\python_os.py
 
print(os.path.dirname(path))
# E:\python\test\python_models
 
print(os.path.pardir)
# ..
 
print(os.path.abspath(os.path.join(os.path.dirname(path),os.path.pardir)))
# E:\python\test

3、獲取文件屬性的方法介紹

# 3、獲取文件屬性
# os.path模塊也包含了若干函數(shù)用來獲取文件的屬性,包括文件的創(chuàng)建時(shí)間,修改時(shí)間,文件的大小,訪問時(shí)間
# os.path.getatime()        返回文件的訪問的時(shí)間
# os.path.getmtime()          返回文件的修改的時(shí)間
# os.path.getctime()          返回文件的創(chuàng)建時(shí)間
# os.path.getsize()           返回文件的大小

4、判斷文件的類型

# 4、判斷文件類型
# os.path模塊也提供了若干函數(shù)用來判斷路徑是否存愛,以及路徑所指的文件的類型,這些判斷類的函數(shù)一般以is開頭,并且返回一個(gè)Boolean型的結(jié)果
 
# os.path.exists()      參數(shù)path指向的路徑是否存在
# os.path.isfile()        參數(shù)path指向的路徑存在,且為文件
# os.path.isdir()           參數(shù)path指向的路徑存在,且為目錄
# os.path.islink()            參數(shù)path指向的路徑存在,且是一個(gè)連接
# os.path.ismount()            參數(shù)path指向的路徑存在,且是一個(gè)掛載點(diǎn)

5、文件和目錄操作

# 5、文件和目錄的操作
# os模塊保留文件和目錄的操作函數(shù),包括創(chuàng)建目錄,刪除目錄,刪除文件,重命名文件等
# os.remove()      刪除path路徑所指向的文件
# os.rmdir()         刪除path路徑鎖指向的文件夾,該文件夾必須為空,否則會(huì)報(bào)失敗
# os.mkdir()         創(chuàng)建一個(gè)文件夾
# os.rename()        重命名一個(gè)文件或者文件夾

6、修改文件屬性和判斷文件屬性

# 6、修改文件權(quán)限和判斷文件權(quán)限
# os模塊也包含了修改文件權(quán)限,判斷文件權(quán)限的函數(shù),即chmod和access,chmod用來修改文件的權(quán)限,access用來判斷文件是否具有相應(yīng)的權(quán)限,在linux中,
# 權(quán)限分為讀,寫和執(zhí)行,因此os模塊也提供了三個(gè)常量來表示讀,寫,執(zhí)行,即R_OK,W_OK,X_OK
 
 
print(os.access(__file__,os.R_OK))
# True
 
print(os.access(__file__,os.W_OK))
# True
print(os.access(__file__,os.X_OK))
# True
 
os.chmod(__file__,os.W_OK)

7、遍歷目錄樹

# 7、os.walk遍歷目錄樹
# 前面的例子都是查找某一個(gè)目錄下的文件并通過模式匹配去選擇自己需要的文件類型,在實(shí)際工作中,更有可能遇到的是查找某個(gè)目錄及其子目錄下的所有的文件
# 。例如查找某個(gè)目錄及其子目錄下所有的圖片,查找某個(gè)目錄及其子目錄下最大的十個(gè)文件,對于這類的需求可以使用os模塊walk方法,walk方法遍歷某個(gè)目錄及其
# 子目錄,對于每一個(gè)目錄,walk返回一個(gè)三元組,dirpath,dirnames,filenames,其中dirpath保存的是當(dāng)前的目錄,dirnames是當(dāng)前目錄下的子目錄列表,filenames
# 是當(dāng)前目錄下的文件列表
 
for a,b,c in os.walk(".."):
    print(a,b,c,"walk---------")
 
    # a為當(dāng)前的目錄
    # b為當(dāng)前目錄下目錄
    # c為當(dāng)前目錄下的文件

二、fnmatch模塊介紹

# 8、查找文件
# 使用fnmatch來查找特定的文件,大部分情況下,使用字符串匹配查找特定的文件就能滿足需求,如果需要更加靈活的字符串匹配,可以使用標(biāo)準(zhǔn)庫中的fnmatch庫,這個(gè)庫
# 專門用來進(jìn)行文件名匹配,支持使用通配符進(jìn)行文件名的匹配

1、fnmatch支持的通配符如下

# fnmatch支持的通配符如下
# *           匹配任何數(shù)量的字符
# ?           匹配單個(gè)字符
# [sep]       匹配sep中的字符
# [!sep]      匹配除了sep以為的任何字符

2、fnmatch的常用方法介紹

# fnmatch常用的方法
# fnmatch.fnmatch()    判斷文件名是否符合特定的模式,區(qū)分大小寫
# fnmatch.fnmatchcase()  判斷文件名是否符合特定的模塊,不區(qū)分大小寫
# fnmatch.filter()       返回輸入列表中,符合特定模式的文件名列表
# fnmatch.translate()     將通配符匹配模式轉(zhuǎn)換成正則表達(dá)式

3、fnmatch.fnmatch方法介紹

for file in os.listdir("."):
    if fnmatch.fnmatch(file,"*.html"):
        print(file)
 
    elif fnmatch.fnmatch(file,"[a-z]??.py"):
        print(file,"hahah")
    elif fnmatch.fnmatch(file,"[!a-o]*"):
        print(file)
    else:
        pass

4、fnmatch.filter方法介紹

	
# filter方法和fnmatch一樣,只是filer需要傳遞一個(gè)文件的列表進(jìn)行,返回一個(gè)符合匹配規(guī)則的列表
print(fnmatch.filter(os.listdir("."),"*py"))

以上就是python os模塊和fnmatch模塊的使用介紹的詳細(xì)內(nèi)容,更多關(guān)于python os模塊和fnmatch模塊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用Python進(jìn)行數(shù)據(jù)可視化的實(shí)例代碼

    利用Python進(jìn)行數(shù)據(jù)可視化的實(shí)例代碼

    數(shù)據(jù)可視化和數(shù)據(jù)挖掘都是探索數(shù)據(jù)和分析數(shù)據(jù)的一種手段,下面這篇文章主要給大家介紹了關(guān)于如何利用Python進(jìn)行數(shù)據(jù)可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • 關(guān)于Kotlin中SAM轉(zhuǎn)換的那些事

    關(guān)于Kotlin中SAM轉(zhuǎn)換的那些事

    這篇文章主要給大家介紹了關(guān)于Kotlin中SAM轉(zhuǎn)換的那些事,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python基于多線程實(shí)現(xiàn)ping掃描功能示例

    Python基于多線程實(shí)現(xiàn)ping掃描功能示例

    這篇文章主要介紹了Python基于多線程實(shí)現(xiàn)ping掃描功能,結(jié)合實(shí)例形式分析了Python多線程與進(jìn)程相關(guān)模塊調(diào)用操作技巧,需要的朋友可以參考下
    2018-07-07
  • 從基礎(chǔ)到進(jìn)階帶你玩轉(zhuǎn)Python中的JSON

    從基礎(chǔ)到進(jìn)階帶你玩轉(zhuǎn)Python中的JSON

    JSON是一種輕量級的數(shù)據(jù)交換格式,在Python中處理JSON數(shù)據(jù)是日常開發(fā)中的常見任務(wù)之一,本文將詳細(xì)介紹如何在Python中處理JSON對象,需要的可以參考下
    2024-12-12
  • python抓取網(wǎng)頁時(shí)字符集轉(zhuǎn)換問題處理方案分享

    python抓取網(wǎng)頁時(shí)字符集轉(zhuǎn)換問題處理方案分享

    python學(xué)習(xí)過程中發(fā)現(xiàn)英文不好學(xué)起來挺困難的,其中小弟就遇到一個(gè)十分蛋疼的問題,百度了半天就沒找到解決辦法~囧~摸索了半天自己解決了,記錄下來與君共勉。
    2014-06-06
  • 詳解Python中 __get__和__getattr__和__getattribute__的區(qū)別

    詳解Python中 __get__和__getattr__和__getattribute__的區(qū)別

    __get__、__getattr__、__getattribute都是訪問屬性的方法,但作用不太相同,這里我們就來詳解Python中 __get__和__getattr__和__getattribute__的區(qū)別:
    2016-06-06
  • Python文件操作之合并文本文件內(nèi)容示例代碼

    Python文件操作之合并文本文件內(nèi)容示例代碼

    眾所周知Python文件處理操作方便快捷,下面這篇文章主要給大家介紹了關(guān)于Python文件操作之合并文本文件內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas

    Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas

    這篇文章主要介紹了Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過程

    pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過程

    這篇文章主要介紹了pytorch和tensorflow計(jì)算Flops和params,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Python json模塊使用實(shí)例

    Python json模塊使用實(shí)例

    這篇文章主要介紹了Python json模塊使用實(shí)例,本文給出多個(gè)使用代碼實(shí)例,需要的朋友可以參考下
    2015-04-04

最新評論