python 我如何遍历一个目录,打印出文件名和它们的大小,并使打印输出看起来干净?

xxls0lw8  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(84)

我目前正在编写的代码进入一个目录。一旦进入该目录,我需要迭代该目录中的文件,并打印文件名和扩展名,沿着文件大小。

os.chdir(Path('pets', 'cats'))

current = Path.cwd()
for file in os.listdir(current):
    fileName = os.path.split(file)
    fileSize = os.path.getsize(file)
    print(str(fileName) + ': ' + str(fileSize))

我遇到的问题是打印输出包含('''<filename.ext>')。我想省略所有这些额外的字符,只保留<filename.ext>。有什么线索可以帮助我清理这些字符吗?

qzwqbdag

qzwqbdag1#

看起来您正在使用pathlib模块,因此您可以编写:

import os
from pathlib import Path

path = Path('dogs', 'cats')
for item in path.iterdir():
    if not item.is_file():
      continue

    fstat = os.stat(item)
    print(f'{item.name}: {fstat.st_size}')

这将产生如下输出:

foo.txt: 32
bar.txt: 64
g0czyy6m

g0czyy6m2#

您可以使用这段代码来完成以下任务:

# import glob
# import os

folPath = r'dir_address'

for fPath in glob.glob("{0}\**\*".format(folPath), recursive=True):

# get file size

fSize = os.stat(fPath).st_size/1024

print('size of {0} is {1}'.format(fPath, fSize))

希望这对你有帮助。

相关问题