簡體   English   中英

python某些目錄中文本文件的數量

[英]python count number of text file in certain directory

我正在嘗試獲取某個目錄中的文件數,但是我希望它僅計算文本文件,因為我在帳戶和DS中有另一個目錄。 存儲文件。 我應該修改什么才能只獲得文本文件的數量?

list = os.listdir("data/accounts/")
number_files = len(list)
print(number_files)

計算Python中具有特定擴展名的文件數開始

解決方案1。

fileCounter = 0
for root, dirs, files in os.walk("data/accounts/"):
    for file in files:    
        if file.endswith('.txt'):
            fileCounter += 1

解決方案2。

fileCounter = len(glob.glob1("data/accounts/","*.txt"))

這里閱讀有關glob的信息

假設您的文本文件以“ .txt”結尾,則可以使用以下內容:

files = [x for x in os.listdir("data/accounts/") if (os.isfile(x) and x.endswith('.txt'))]
number_files = len(list)
print(number_files)

使用os.isfile()忽略目錄,使用string.endswith()確定文本文件大小。

可能適合您的替代模塊是glob

它將允許您使用通配符,以便僅捕獲您感興趣的文件。

from glob import glob
filenames = glob("data/accounts/*.txt")
number_of_files = len(filenames)
print(number_of_files)
number_of_files = sum(f.endswith('.txt') for f in os.listdir("data/accounts/"))

str.endswith()返回TrueFalse
TrueFalse數值分別為1和0。
sum()將使用生成器表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM