欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3.遍歷某文件夾提取特定文件名的實(shí)例

 更新時(shí)間:2018年04月26日 14:33:59   作者:modabao  
下面小編就為大家分享一篇Python3.遍歷某文件夾提取特定文件名的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

批量處理文件時(shí),常需要先遍歷某個(gè)路徑提取特定條件的文件名。這篇寫一個(gè)暴力遍歷但很簡(jiǎn)潔的方法,真的非常簡(jiǎn)潔但是非常暴力。

例子目標(biāo)是:獲得存放遙感數(shù)據(jù)的文件夾下文件夾名以“_BAD”結(jié)尾的文件夾內(nèi)容。因?yàn)樵撐募路旨?jí)很多(年/月/產(chǎn)品類型/),目標(biāo)文件夾很多且存在在最后一級(jí),手動(dòng)查看很煩。

代碼如下(知識(shí)點(diǎn)總結(jié)代碼后):

# -*- coding: utf-8 -*-
"""
遍歷某路徑下所有文件夾,獲得特定文件夾下所有文件
很暴力,真的遍歷了所有的文件夾
20180124
@author: 墨大寶
"""
import os
TARGETPATH = r'F:\MODIS_DATA'
records = []
for currentDir, _, includedFiles in os.walk(TARGETPATH):
 if not currentDir.endswith('_BAD'): continue
 else:
  records.append(currentDir) # 將以“_BAD”結(jié)尾的文件夾名加入records
  records.extend(includedFiles) # 將該文件夾內(nèi)的文件名列表擴(kuò)展到records
# 將records寫入.txt
txtFile = open(os.path.join(TARGETPATH, '02_04_BAD.txt'), 'w')
txtFile.write(os.linesep.join(records))
txtFile.close()
# 將排序后的records寫入.txt
with open(os.path.join(TARGETPATH, '02_04_BAD_SORTED.txt'), 'w') as txtFile:
 txtFile.write('\n'.join(sorted(records)))

os.walk()返回Directory tree generator。每次生成格式為(dirpath, dirnames, filenames) 的tuple,元素依次是當(dāng)前路徑、當(dāng)前路徑下文件夾列表、當(dāng)前路徑下文件名列表。

list的.append()、.extend()和.sort()方法都是原地修改,sorted()函數(shù)不是。

將list寫入.txt文件時(shí)需要把list轉(zhuǎn)為str,直接用str()函數(shù)強(qiáng)轉(zhuǎn)會(huì)很丑,用換行符連接list每個(gè)元素會(huì)好看很多。

os.path代表系統(tǒng)換行符,windows下為”\r\n”,其他系統(tǒng)多是”\n”。然而無論是用os.path還是”\n”連接列表元素,最后用windows記事本打開都一樣換行,但是用vs code打開的話os.path會(huì)多換一行即看上去一行間一行,這里面到底為啥有點(diǎn)說到,可能和Python的write機(jī)制有關(guān),暫時(shí)不深究(留坑)。

關(guān)于文件讀寫,大多數(shù)資料推薦with as形式,確實(shí)更簡(jiǎn)潔一點(diǎn)。

PS:

說os.walk()暴力是因?yàn)樗娴陌凑漳夸洏浔闅v了所給路徑中的所有文件夾和文件,文件量大而所要找的文件名少的情況下會(huì)慢一些(其實(shí)我覺得慢不了多少),用os.listdir()寫成遞歸函數(shù)的話執(zhí)行效率可能會(huì)高一些,但是os.walk()邏輯簡(jiǎn)單好寫,各位隨意,我干了!

以上這篇Python3.遍歷某文件夾提取特定文件名的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談numpy數(shù)組的幾種排序方式

    淺談numpy數(shù)組的幾種排序方式

    這篇文章主要介紹了淺談numpy數(shù)組的幾種排序方式,涉及對(duì)numpy的簡(jiǎn)單介紹和創(chuàng)建數(shù)組的方式,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python 如何訪問外圍作用域中的變量

    Python 如何訪問外圍作用域中的變量

    這篇文章主要介紹了Python 如何訪問外圍作用域中的變量的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Python繪制1000響大地紅鞭炮動(dòng)態(tài)效果

    Python繪制1000響大地紅鞭炮動(dòng)態(tài)效果

    俗話說得好,這所謂放鞭炮就是來壓邪祟,除惡的,但是近幾年來都不讓放炮了,這篇文章主要介紹了Python來繪制1000響大地紅鞭炮動(dòng)態(tài)效果
    2023-01-01
  • Python為Excel單元格設(shè)置填充\背景色的操作方法(純色、漸變、圖案)

    Python為Excel單元格設(shè)置填充\背景色的操作方法(純色、漸變、圖案)

    在使用Excel進(jìn)行數(shù)據(jù)處理和分析時(shí),對(duì)特定單元格進(jìn)行背景顏色填充不僅能夠提升工作表的視覺吸引力,還能幫助用戶快速識(shí)別和區(qū)分不同類別的數(shù)據(jù),本文將通過三個(gè)示例詳細(xì)介紹如何使用Python在Excel中設(shè)置不同的單元格背景,需要的朋友可以參考下
    2024-08-08
  • python3+pyqt5+itchat微信定時(shí)發(fā)送消息的方法

    python3+pyqt5+itchat微信定時(shí)發(fā)送消息的方法

    今天小編就為大家分享一篇python3+pyqt5+itchat微信定時(shí)發(fā)送消息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 基于Python實(shí)現(xiàn)Excel轉(zhuǎn)Markdown表格

    基于Python實(shí)現(xiàn)Excel轉(zhuǎn)Markdown表格

    Markdown(也簡(jiǎn)稱md)作為一種輕量級(jí)標(biāo)記語(yǔ)言,因其易寫易讀,效果美觀大方,不僅被眾多網(wǎng)站使用,也是程序員們做筆記、寫文檔的首選。本文將利用Python實(shí)現(xiàn)Excel轉(zhuǎn)Markdown表格,感興趣的可以了解一下
    2022-04-04
  • Python中的wordcloud庫(kù)安裝問題及解決方法

    Python中的wordcloud庫(kù)安裝問題及解決方法

    這篇文章主要介紹了Python中的wordcloud庫(kù)安裝問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 對(duì)numpy中的where方法嵌套使用詳解

    對(duì)numpy中的where方法嵌套使用詳解

    今天小編就為大家分享一篇對(duì)numpy中的where方法嵌套使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python3 加密(hashlib和hmac)模塊的實(shí)現(xiàn)

    Python3 加密(hashlib和hmac)模塊的實(shí)現(xiàn)

    本篇文章主要介紹了Python3 加密(hashlib / hmac)模塊的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法

    pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法

    本文主要介紹了pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論