Закрытие счета 10/13

ed1=zzFirstDateOfMonth(acnt.s.date)
ed2=zzLastDateOfMonth(acnt.s.date)
keyPrim=u"#закрытие_месяца#расчет10/13"

mbp_in_use=const.mbp_in_use
mbp_cnt_cr=const.mbp_cnt_cr
date=ed2
cdate=dtoc(date)
rnd=const.rnd

zzCursor("""delete 
			FROM move 
			where date>='%(ed1)s' and date<='%(ed2)s' and cr_cnt='%(mbp_cnt_cr)s' and prim like '%(keyPrim)s'
			""" % locals())

m_mbp_in_use=num(zzCursor("""select 
						sum(
								case 
									when _db_cnt='%(mbp_in_use)s'=_cr_cnt='%(mbp_in_use)s' then 0 
									when _db_cnt='%(mbp_in_use)s' then summa 
									else -summa 
								end
							) as summa
				from move0 
				where date<='%(date)s' and '%(mbp_in_use)s' in (_db_cnt,_cr_cnt)
				""" % locals()).r.summa)

m_mbp_cnt_cr=num(zzCursor("""select 
						sum(
								-case 
									when _db_cnt='%(mbp_cnt_cr)s'=_cr_cnt='%(mbp_cnt_cr)s' then 0 
									when _db_cnt='%(mbp_cnt_cr)s' then summa 
									else -summa 
								end
							) as summa
				from move0 
				where date<='%(date)s' and '%(mbp_cnt_cr)s' in (_db_cnt,_cr_cnt) 
				""" % locals()).r.summa)


t_mbp_in_use=num(zzCursor("""select sum(round(qt*price,%(rnd)s)) as summa
									from infs
									where date<='%(date)s' and cnt='%(mbp_in_use)s'
									""" % locals()).r.summa)

if m_mbp_in_use!=t_mbp_in_use:
	zzMess(u"""Сальдо на конец периода (<b>%(cdate)s</b>)<br>
					по балансу (<b>%(m_mbp_in_use)s</b>)<br>
					и <br>
					по учету ТМЦ (<b>%(t_mbp_in_use)s</b>)<br>
					<font color=red size=+2>Не совпадают!!!</font> <br>
					Для расчета будут использованы данные баланса!
				""" % locals())
must_be=round(m_mbp_in_use/2,rnd)
delta=must_be-m_mbp_cnt_cr

if not insert("move",{"SUMMA":delta,"DATE":ed2,"DB_CNT":"26/","CR_CNT":mbp_cnt_cr,"PRIM":keyPrim}):
	wasError=u"Ошибка при записи результата расчета: %s" % lastError()

Получить список дисков (обращение kernel)

def get_drives():
    import string
    from ctypes import windll

    drives = []
    bitmask = windll.kernel32.GetLogicalDrives()
    for letter in string.uppercase:
        if bitmask & 1:
            drives.append(letter)
        bitmask >>= 1

    return drives

print get_drives()

Скачать архив из сети и извлечь файлы

    if not glob.glob("yoksel.exe"):
        if zzAskYN(u"Файл YOKSEL.EXE не найден! Загрузить из интернета?")==2:
            try:
                downloadFromSite("https://sourceforge.net/projects/yoksel/files/latest/download?source=files","yoksel.zip")
                zip=zipfile.ZipFile(u"yoksel.zip")
                for x in zip.namelist():
                    if x.lower()=='yoksel.exe':
                        zip.extract(x)
                zip.close()
            except:
                zzMess(u"Загрузка не удалась!!")