Вы можете использовать os.popen
с re
:
import os, re
import csv
rows = [i.strip('\n') for i in os.popen('dir /a/s/od/ta')]
drive = re.findall('[A-Z]:', '\n'.join(rows))[0]+'\\'
directories = [re.split('\s{2,}|(?<=\d)\s|\s(?=\d)', i) for i in rows if re.findall('^\d+/\d+/\d+|\<[A-Z]+\>', i)]
with open('dir_results.csv', 'w') as f:
write = csv.writer(f)
write.writerows([['**name', 'path', 'lastaccess', 'type**']]+[[c]+[drive]+[' '.join(a)]+[b] for *a, b, c in directories])
Выход:
**name,path,lastaccess,type**
PerfLogs,C:\,2009/07/14 上午 11:20,<DIR>
Documents and Settings [C:\Users],C:\,2009/07/14 下午 01:08,<JUNCTION>
hiberfil.sys,C:\,2018/03/14 下午 04:09,"12,796,198,912"
pagefile.sys,C:\,2018/03/14 下午 04:09,"17,061,601,280"
Recovery,C:\,2018/03/14 下午 04:16,<DIR>
Users,C:\,2018/03/14 下午 04:17,<DIR>
$Recycle.Bin,C:\,2018/03/14 下午 04:17,<DIR>
Intel,C:\,2018/03/14 下午 04:42,<DIR>
Python27,C:\,2018/03/14 下午 05:46,<DIR>
87E27E492B63,C:\,2018/03/22 下午 01:19,40
py36,C:\,2018/03/31 上午 11:08,<DIR>
ProgramData,C:\,2018/05/04 下午 06:12,<DIR>
Program Files (x86),C:\,2018/05/04 下午 06:12,<DIR>
Windows,C:\,2018/05/04 下午 06:15,<DIR>
System Volume Information,C:\,2018/05/07 上午 10:17,<DIR>
Config.Msi,C:\,2018/05/07 上午 10:19,<DIR>
Program Files,C:\,2018/05/08 上午 10:39,<DIR