打印字符而不是列出目录

时间:2014-01-03 01:43:26

标签: python-2.7 dir

我正在尝试列出目录中的文件。目录是/ home / user / Desktop / Test / 在Test中,有3个文件夹,a,b,c 并且在每个文件夹a,b,c内有10个gz文件,按1-10顺序编号

import os
subdir=os.walk("/home/user/Desktop/Test")
for i in subdir:
    for dir in i:
        print dir

我得到

的输出
a
b
c

我想要

1.gz
2.gz
3.gz
4.gz
5.gz
6.gz
7.gz
8.gz
9.gz
10.gz

我哪里错了?

1 个答案:

答案 0 :(得分:3)

阅读文档。通过输入help(os.walk),您将找到以下示例:

import os
from os.path import join, getsize

for root, dirs, files in os.walk('python/Lib/email'):
    print root, "consumes",
    print sum([getsize(join(root, name)) for name in files]),
    print "bytes in", len(files), "non-directory files"
    if 'CVS' in dirs:
        dirs.remove('CVS')  # don't visit CVS directories

因此,如果要列出文件夹中的所有文件,请执行以下操作:

import os

relative_dirnames = ['a', 'b', 'c']
path = '/home/user/Desktop/Test'
dirs_to_list = [os.path.join(path, s) for s in relative_dirnames]

for d in dirs_to_list:
    for _, __, files in os.walk(d):
        print 'Folder: {}'.format(d)
        for f in files:
            print f
        break
相关问题