from datetime_periods import period
from dateutil.parser import parse
import math
import datetime
current_date = datetime.datetime.now()
def get_num_quarter(ref): # Возвращает номер квартала
return math.ceil(ref.month/3.)
def start_end_quarter(ref): # Возвращает первый и последний день квартала
return period(ref, 'quarter')
def previous_quarter(ref): # Возвращает 1-ый день предыдущего квартала
quarter = (ref.month - 1) // 3
prev_quarter = (quarter - 1) % 4
return datetime.datetime(ref.year if quarter > 0
else ref.year-1, prev_quarter*3+1, 1)
dates = "2015-07-10 2015-03-07 2015-06-25 2015-04-21 2014-07-30".split(" ")
for d in dates:
date_obj = parse(d)
# Проверяем входит ли дата в текущий квартал
if (current_date.year == date_obj.year
and get_num_quarter(date_obj) == get_num_quarter(current_date)):
print(d + " - Входит. Т.к. дата относится к текущему кварталу")
continue
# Проверяем условие: предыдущий кв. + 25 дней
prev_date = previous_quarter(current_date)
start = start_end_quarter(prev_date)[0]
end = start_end_quarter(prev_date)[1] + datetime.timedelta(days=25)
if start < date_obj and current_date < end:
print(d + " - Входит. Т.к. предыдущий кв. + 25 дней еще не закончились")
else:
print(d + " - Не входит в диапазон")
2015-07-10 - Входит. Т.к. дата относится к текущему кварталу
2015-03-07 - Не входит в диапазон
2015-06-25 - Входит. Т.к. предыдущий кв. + 25 дней еще не закончились
2015-04-21 - Входит. Т.к. предыдущий кв. + 25 дней еще не закончились
2014-07-30 - Не входит в диапазон
import difflib
def similar(arr):
s = difflib.SequenceMatcher()
full = []
for i in arr:
s.set_seq2(i)
for n in (arr):
if n == i:
continue
s.set_seq1(n)
full.append((s.ratio(), n))
full.sort(reverse=True)
print("### Отладка ### Сколько каждое слово набрало очков похожести")
for score, i in full:
print(i + str(score))
return full[0]
arr = ['голубец', 'конь', 'голубцы', 'лист']
print("Итоговый результат:" + similar(arr)[1])
arr = ['стол', 'день', 'свет', 'клинок', 'светильник']
print("Итоговый результат:" + similar(arr)[1])
arr = ['восток', 'дань', 'исток', 'жир', 'голубь', 'да']
print("Итоговый результат:" + similar(arr)[1])
### Отладка ### Сколько каждое слово набрало очков похожести
голубцы0.8571428571428571
голубец0.8571428571428571
лист0.18181818181818182
лист0.18181818181818182
конь0.18181818181818182
конь0.18181818181818182
голубцы0.18181818181818182
голубцы0.18181818181818182
голубец0.18181818181818182
голубец0.18181818181818182
лист0.0
конь0.0
Итоговый результат:голубцы
### Отладка ### Сколько каждое слово набрало очков похожести
светильник0.5714285714285714
свет0.5714285714285714
стол0.5
свет0.5
стол0.42857142857142855
светильник0.42857142857142855
светильник0.375
светильник0.2857142857142857
день0.2857142857142857
свет0.25
день0.25
стол0.2
клинок0.2
клинок0.2
день0.2
клинок0.125
стол0.0
свет0.0
клинок0.0
день0.0
Итоговый результат:светильник
### Отладка ### Сколько каждое слово набрало очков похожести
исток0.7272727272727273
восток0.7272727272727273
дань0.6666666666666666
да0.6666666666666666
исток0.25
жир0.25
дань0.2
голубь0.2
исток0.18181818181818182
голубь0.18181818181818182
голубь0.16666666666666666
восток0.16666666666666666
исток0.0
исток0.0
жир0.0
жир0.0
жир0.0
жир0.0
дань0.0
дань0.0
дань0.0
да0.0
да0.0
да0.0
да0.0
голубь0.0
голубь0.0
восток0.0
восток0.0
восток0.0
Итоговый результат:исток
date = '31/01/2015'
date_format = '%d/%m/%Y'
g.cur.execute("""SELECT * FROM `per` WHERE DATE_FORMAT(`date_sf`, %s) = %s""",
(date_format, date))
rows = g.cur.fetchall()
print(rows)
date = '01/01/2015'
date_format = '%d/%m/%Y'
sql = """SELECT * FROM `users` WHERE DATE_FORMAT(`date`, '%s') = '%s' """ % (date_format, date)
rows = db.session.execute(sql)
from sqlalchemy import text
rows = db.session.execute(text("SELECT * FROM `users` WHERE DATE_FORMAT(`date`, :df) = :date "),
{"df": '%d/%m/%Y', "date": '01/01/2015'})
import wmi
wmi_obj = wmi.WMI()
wmi_sql = "select IPAddress, Description from Win32_NetworkAdapterConfiguration"
wmi_out = wmi_obj.query( wmi_sql )
for dev in wmi_out:
try:
dev.IPAddress[0]
except TypeError:
print(dev.Description, "- None")
else:
print( dev.Description, "IPv4Address:", dev.IPAddress[0])