欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python學(xué)習(xí):獲取指定目錄下所有文件名os.walk和os.listdir

1.os.walk

  • 返回指定路徑下所有文件和子文件夾中所有文件列表
  • 其中文件夾下路徑如下:
import os
def file_name_walk(file_dir):
    for root, dirs, files in os.walk(file_dir):
        print("root", root)  # 當(dāng)前目錄路徑
        print("dirs", dirs)  # 當(dāng)前路徑下所有子目錄
        print("files", files)  # 當(dāng)前路徑下所有非目錄子文件

file_name_walk("./")
# root ./
# dirs ['test']
# files ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py']
# root ./test
# dirs []
# files ['test.txt']
  • 對于os.walk會遍歷指定目錄下的所有子文件夾和子文件夾中的所有文件,例如此處的root文件夾中有test文件夾和'200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py'等文件
  • 然后遍歷子文件夾test,發(fā)現(xiàn)其中并沒有子文件夾,所以dirs=[],但是子文件夾test中有文本文件test.txt.所以有['test.txt']的值

2.os.listdir()

返回指定路徑下所有的文件和文件夾列表,但是子目錄下文件不遍歷。

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)息縣,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

def file_name_listdir(file_dir):
    for files in os.listdir(file_dir):  # 不僅僅是文件,當(dāng)前目錄下的文件夾也會被認(rèn)為遍歷到
        print("files", files)

file_name_listdir("./")
# files 200-2000(1).txt
# files 200-2000(2).txt
# files 200-2000(3).txt
# files getFileName.py
# files test

注意:使用os.listdir函數(shù)不僅是文件,文件夾也會被遍歷到,例如test即是一個文件夾。

3.全局變量保存

如果想要保存文件名可以使用全局變量或者局部變量進(jìn)行保存。
如果使用全局變量,則每次調(diào)用函數(shù)的信息都存在全局列表中

Files_Global = []

def file_name_listdir_global(file_dir):
    for files in os.listdir(file_dir):
        Files_Global.append(files)

file_name_listdir_global(".")
file_name_listdir_global("./test")
# 最終的結(jié)果都會被保存到全局列表變量中
print("Files_Global: ", Files_Global)
# Files_Global:  ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test', 'test.txt']

此處使用os.listdir函數(shù)將遍歷得到的結(jié)果都保存到全局變量Files_Global中,則其中包含了遍歷"."當(dāng)前文件夾和"./test"當(dāng)前文件夾中的test文件夾中的所有信息

4.局部變量和函數(shù)返回

局部變量,只保存本次函數(shù)調(diào)用得到的結(jié)果,通過返回值保存
建議使用局部變量加返回值的方式

'''
學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流群:
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書!
'''
def file_name_listdir_local(file_dir):
    files_local = []
    for files in os.listdir(file_dir):
        files_local.append(files)
    return files_local

file_local_1 = file_name_listdir_local(".")
file_local_2 = file_name_listdir_local("./test")
print("file_local_1:", file_local_1)  # 當(dāng)前目錄下文件
print("file_local_2", file_local_2)  # 子目錄test下文件
# file_local_1: ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test']
# file_local_2 ['test.txt']

5.通過os.path.splitext指定文件類型

選取特定文件類型
選取文件名中所有txt后綴名的文本文件

def file_name(file_dir):
    File_Name=[]
    for files in os.listdir(file_dir):
        if os.path.splitext(files)[1] == '.txt':
            File_Name.append(files)
    return File_Name
txt_file_name=file_name(".")
print("txt_file_name",txt_file_name)

# txt_file_name ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt']

當(dāng)前標(biāo)題:python學(xué)習(xí):獲取指定目錄下所有文件名os.walk和os.listdir
本文地址:http://chinadenli.net/article40/dsogceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站收錄、營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、微信公眾號、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)