I'm using os.walk
with a generator to populate a set of filenames for later manipulation using the following:
file_path = '/home/user/Developer/10/'
list_of_files = {}
cnt = 0
for (dirpath, dirnames, filenames) in os.walk(file_path):
for filename in filenames:
if filename.endswith('.xml'):
list_of_files[cnt] = os.sep.join( [dirpath, filename] )
cnt += 1
With list_of_files
sorted as:
{0: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183126.585.xml',
1: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183216.572.xml',
2: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183123.015.xml',
3: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183058.016.xml',
4: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183130.151.xml',
5: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183140.873.xml',
6: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183223.729.xml',
7: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183054.451.xml',
8: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183148.014.xml',
9: '/home/user/Developer/10/2/test/channe 1_UTC_DEtoSE_183202.296.xml'}
I know that python does not sort filenames when populating lists, but I was under the impression that sets were self-sorting? If not how can I sort this set alphanumerically by filename? If I use sorted()
if returns a list object with set element numbers which is pretty useless.