最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python遍歷某目錄下的所有文件夾與文件路徑

 更新時(shí)間:2018年03月15日 11:16:31   作者:yongh701  
這篇文章主要介紹了Python遍歷某目錄下的所有文件夾與文件路徑 以及輸出中文亂碼問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文與《【Java】讀取其下所有文件夾與文件的路徑》 點(diǎn)擊打開鏈接)為姊妹篇,主要講述Python對(duì)于文件信息的讀取操作。

Python對(duì)于文件信息的讀取操作,在其固有類os中。

下面以讀取F盤下的所有文件夾作為例子說明這個(gè)問題:

Python對(duì)于文件夾的遍歷有兩種寫法,一種是直接利用其封裝好的walk方法直接操作。
這是Python做得比Java優(yōu)勢(shì)的地方:

# -*-coding:utf-8-*- 
import os 
for root,dirs,files in os.walk("f:\\"): 
 for dir in dirs: 
  print os.path.join(root,dir).decode('gbk').encode('utf-8'); 
 for file in files: 
  print os.path.join(root,file).decode('gbk').encode('utf-8'); 


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

上述程序,將os.walk讀取到的所有路徑root、目錄名dirs與文件名files,也就是三個(gè)文件數(shù)組利用foreach循環(huán)輸出。

join方法就是講其路徑與目錄名或者文件名連接起來,組成一個(gè)完整的目錄。

后面的.decode('gbk').encode('utf-8');方法主要是給Eclipse下的PyDev控制臺(tái)用的,如果不加控制臺(tái)的輸出會(huì)出現(xiàn)亂碼,但是,如果你的Python程序是要拉到Windows的控制臺(tái)cmd,使用python xx.py運(yùn)行的話,請(qǐng)不要加這段編碼方法,同時(shí)去掉開頭的# -*-coding:utf-8-*-。因?yàn)閏md是使用gb2312簡(jiǎn)體中文編碼的,而不是像Linux的終端是utf-8編碼。

也可以根據(jù)Java的遞歸思想,寫成以下的形式:

# -*-coding:utf-8-*- 
 
import os; 
files = list(); 
def DirAll(pathName): 
 if os.path.exists(pathName): 
  fileList = os.listdir(pathName); 
  for f in fileList: 
   if f=="$RECYCLE.BIN" or f=="System Volume Information": 
    continue; 
   f=os.path.join(pathName,f); 
   if os.path.isdir(f):  
    DirAll(f);     
   else: 
    dirName=os.path.dirname(f); 
    baseName=os.path.basename(f); 
    if dirName.endswith(os.sep): 
     files.append(dirName+baseName); 
    else: 
     files.append(dirName+os.sep+baseName); 
 
 
DirAll("f:\\"); 
for f in files: 
 print f.decode('gbk').encode('utf-8'); 


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

當(dāng)然,這種形式有其弊端,就是不能遍歷一些系統(tǒng)保留文件夾,如$RECYCLE.BIN、System Volume Information等,如果不寫判斷條件,會(huì)導(dǎo)致下面的讀取出錯(cuò)。因此,以后遍歷文件夾的時(shí)候,還是建議時(shí)候上面的os.walk的方式。

不過,我們可以從上面的程序看到幾個(gè)常見的用法,os.sep能夠直接返回文件分隔符/或者\(yùn)\、、os.path.join(文件所在目錄的路徑、文件名)能把文件所在目錄的路徑與文件名連接起來,os.path.isdir(完整路徑)能判斷是否是目錄,endswith("xx")方法能判斷字符串是否以xx結(jié)束的。os.path.dirname()能得到文件所在目錄的路徑,os.path.basename()能得到文件名,os.listdir(路徑)能得到相應(yīng)的文件列表,等等。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例

    Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例

    這篇文章主要介紹了Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 在windows下快速搭建web.py開發(fā)框架方法

    在windows下快速搭建web.py開發(fā)框架方法

    這篇文章主要介紹了在windows下快速搭建web.py開發(fā)框架方法,需要的朋友可以參考下
    2016-04-04
  • Python自制一個(gè)PDF轉(zhuǎn)PNG圖片小工具

    Python自制一個(gè)PDF轉(zhuǎn)PNG圖片小工具

    這篇文章主要為大家詳細(xì)介紹了如何利用Python中的PyQt5自制一個(gè)PDF轉(zhuǎn)PNG格式圖片的小工具,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-02-02
  • 使用python裝飾器驗(yàn)證配置文件示例

    使用python裝飾器驗(yàn)證配置文件示例

    項(xiàng)目中用到了一個(gè)WriteData的函數(shù)保存用戶填寫的配置,為了實(shí)現(xiàn)驗(yàn)證用戶輸入的需求,在不影響接口的使用的前提下,采用了python的裝飾器實(shí)現(xiàn),代碼片段演示了如何驗(yàn)證WriteData函數(shù)的輸入?yún)?shù)
    2014-02-02
  • Django中的CBV和FBV示例介紹

    Django中的CBV和FBV示例介紹

    這篇文章主要給大家介紹了關(guān)于Django中CBV和FBV的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 在Django的URLconf中使用多個(gè)視圖前綴的方法

    在Django的URLconf中使用多個(gè)視圖前綴的方法

    這篇文章主要介紹了在Django的URLconf中使用多個(gè)視圖前綴的方法,Django是Python中最為著名的遵循MVC結(jié)構(gòu)的開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • python實(shí)現(xiàn)的config文件讀寫功能示例

    python實(shí)現(xiàn)的config文件讀寫功能示例

    這篇文章主要介紹了python實(shí)現(xiàn)的config文件讀寫功能,結(jié)合實(shí)例形式分析了Python文件讀寫相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python入門教程(三十)Python的PIP

    Python入門教程(三十)Python的PIP

    這篇文章主要介紹了Python入門教程(三十)Python的PIP,PIP是Python 包或模塊的包管理器,本章帶你們看一下如何使用PIP命令,需要的朋友可以參考下
    2023-04-04
  • pytorch  網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解

    pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解

    這篇文章主要介紹了pytorch 網(wǎng)絡(luò)參數(shù) weight bias 初始化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中l(wèi)ower函數(shù)實(shí)現(xiàn)方法及用法講解

    python中l(wèi)ower函數(shù)實(shí)現(xiàn)方法及用法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python中l(wèi)ower函數(shù)實(shí)現(xiàn)方法及用法講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-12-12

最新評(píng)論

清徐县| 淮安市| 襄垣县| 太谷县| 远安县| 永昌县| 通江县| 崇左市| 临洮县| 通渭县| 商南县| 从江县| 布拖县| 张家界市| 鹤庆县| 襄垣县| 邯郸县| 法库县| 永清县| 瑞安市| 凉城县| 华阴市| 麻江县| 太和县| 航空| 镇安县| 灵宝市| 泰州市| 浪卡子县| 平顺县| 大理市| 宜黄县| 广宗县| 龙胜| 惠水县| 周宁县| 镇雄县| 祁门县| 通道| 贵港市| 定州市|