Показать все имена файлов из определенной папки
Как есть папка, скажем, XYZ, которая содержит файлы с различным форматом, скажем, файл.txt, файл excel, файл.py и т. Д. Я хочу отобразить все выходные имена файлов с помощью программирования на Python
3 ответа
import glob
glob.glob('XYZ/*')
Вот пример, который также может помочь показать некоторые полезные основы Python - dicts {}
, списки []
Струнные техники (split
), модуль как os
, так далее.:
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')
>>>
import os
XYZ = '.'
for item in enumerate(sorted(os.listdir(XYZ))):
print item