У меня есть следующая программа:
import os, time
from xml.etree import ElementTree as ET
start = time.time()
rootdir = "/mnt/e/ECGFVG/EXPORT/ALT"
lista_demo = ['PatientID','PatientAge','Gender']
lista_test = ['AcquisitionDate','AcquisitionTime','Site']
fd = open('output','w')
header = 'item,'+','.join(lista_demo+lista_test)+'\n'
fd.write(header)
for cnt,filename in enumerate(os.listdir(rootdir)):
if cnt > 10000:
print(time.time()-start)
fd.close()
exit()
try:
row = []
row.append(str(cnt+100000))
file = os.path.join(rootdir,filename)
tree = ET.parse(file)
root = tree.getroot()
PatientDemographics = root.find('PatientDemographics')
TestDemographics = root.find('TestDemographics')
for key in lista_demo:
value = PatientDemographics.find(key)
row.append(str(value.text))
for key in lista_test:
value = TestDemographics.find(key)
row.append(str(value.text))
data = ','.join(row)+'\n'
print('writing data %i' % cnt)
fd.write(data)
except Exception as ex:
print(ex)
pass
fd.close()
Все работает, но мне нужно отсканировать около 340000 файлов, и для этого требуется много времени. Поэтому я решил проверить, могу ли я улучшить производительность, возможно, обрабатывая большую часть файлов вместо одного за раз. Я обнаружил, что Windows10 отслеживает момент, когда я остановил предыдущий запуск программы, и при следующем запуске программы он обрабатывает файлы, которые уже видели. Я не хочу этого, я бы хотел, чтобы каждый пробег начинался с одного и того же условия.
Например, я перезагружаю машину и запускаю программу в первый раз. Допустим, для обработки первых 10000 файлов требуется 2 минуты. Я остановил программу. Я запускаю его снова, и это занимает всего 20 секунд для первых 10000 файлов.
ВОПРОС: Как можно предотвратить Windows 10 для запоминания данных и затем сделать условия каждого запуска идентичными?