显示特定文件夹中的所有文件名

时间:2009-05-22 06:32:42

标签: python directory ls

就像有一个文件夹说XYZ,whcih包含不同格式的文件 比方说.txt文件,excel文件,.py文件等。 我想使用Python编程在输出中显示所有文件名

3 个答案:

答案 0 :(得分:3)

import glob
glob.glob('XYZ/*')

See the documentation for more

答案 1 :(得分:2)

这是一个示例,可能也有助于展示一些方便的python基础 - dicts {},列出[],小字符串技术(split),像{{os这样的模块{1}}等等:

bvm@bvm:~/example$ ls
deal.xls    five.xls  france.py  guido.py    make.py      thing.mp3  work2.doc
example.py  four.xls  fun.mp3    letter.doc  thing2.xlsx  what.docx  work45.doc
bvm@bvm:~/example$ python
>>> import os
>>> files = {}
>>> for item in os.listdir('.'):
...     try:
...             files[item.split('.')[1]].append(item)
...     except KeyError:
...             files[item.split('.')[1]] = [item]
... 
>>> files
{'xlsx': ['thing2.xlsx'], 'docx': ['what.docx'], 'doc': ['letter.doc', 
'work45.doc', 'work2.doc'], 'py': ['example.py', 'guido.py', 'make.py', 
'france.py'], 'mp3': ['thing.mp3', 'fun.mp3'], 'xls': ['five.xls',
'deal.xls', 'four.xls']}
>>> files['doc']
['letter.doc', 'work45.doc', 'work2.doc']
>>> files['py']
['example.py', 'guido.py', 'make.py', 'france.py']

对于您的更新问题,您可以尝试以下方式:

>>> for item in enumerate(os.listdir('.')):
...     print item
... 
(0, 'thing.mp3')
(1, 'fun.mp3')
(2, 'example.py')
(3, 'letter.doc')
(4, 'five.xls')
(5, 'guido.py')
(6, 'what.docx')
(7, 'work45.doc')
(8, 'deal.xls')
(9, 'four.xls')
(10, 'make.py')
(11, 'thing2.xlsx')
(12, 'france.py')
(13, 'work2.doc')
>>>

答案 2 :(得分:1)

import os

XYZ = '.'

for item in enumerate(sorted(os.listdir(XYZ))):
    print item