แฌแแแแแกแขแแ แแ
แแแฎแแ แแกแ, แ แแ แกแแ แแแ แก แแแแก แแแแกแฎแ แแแแแกแแกแงแแแ แแแ แฃแกแ, แ แแแแแแแช โแแฆแแแแแแ แจแแแแฎแแแแแกโ แจแแแแแแ แแแฌแแแแแ แแ แแแขแแแ .ibd แคแแแแแแ (innodb แชแฎแ แแแแแแก แแแแแแฃแแ แแแแแชแแแแ แคแแแแแแ), แแแแ แแ แแแแแ แแ แแก แแแแแแแแ แแแจแแคแ แ .fpm แคแแแแแแ ( แคแแแแแแแก แกแขแ แฃแฅแขแฃแ แ). แแ แจแแแแฎแแแแแจแ, .idb แจแแแซแแแแ แแแแงแแก:
- แแฅแแแแแแแแ แแแ แแฆแแแแแแก แกแขแแแแแ แขแฃแแ แฎแแแกแแฌแงแแแแแกแ แแ แแแแแแแก แกแแจแฃแแแแแแ. แแกแแแ แจแแแแฎแแแแแแแกแแแแก แแ แแก แจแแกแแแแจแแแแ
แแแฎแแแก ; - แแแฌแแแแแ แแ แแแจแแคแ แฃแแ แชแฎแ แแแแแ. แซแแ แแแแแแ แแก แแ แแก แแแแ แแแแแแแแ, แ แแแแแแแกแแแแกแแช (แ แแแแ แช แแแกแแแก) แแแแแแแกแฎแแแแแแก แแ แฐแฅแแแแแ แกแแแแแ แแกแ แแแแ แแขแแฃแแ แแแฎแกแแแ แแแ แกแ แฃแแ แแแจแแคแแ แแกแแแแก;
- แแแ แแแ, แกแ แฃแแแ แแแจแแคแ แฃแแ แชแฎแ แแแแแ, แ แแแแแแ แแฆแแแแแ แจแแฃแซแแแแแแแ.
แจแแกแแซแแแแแแ แแแฎแแ แแแแก แแแแแแแ, แแฃ แ แแแแ แแแ แแแแขแก แแแฃแแแแแก แชแฎแ แแแแแ, แฃแแ แแแแ แแแฎแกแแแ แแแ แแแแแกแแแแ แขแแฅแกแขแฃแ แ แแแแฅแขแแ แจแ แกแแกแฃแ แแแแ แแแแแ แแแแ (แฉแแแก แจแแแแฎแแแแแจแ แแก แแ แแก UTF8) แแ แฃแแ แแแแ แแแแแแแแแแ แแ แคแแแแ แขแแฅแกแขแฃแ แ แแแแแแแก แแ แกแแแแแแกแแแแก, แแแแแแแแแ:
แแกแแแ, แคแแแแแก แแแกแแฌแงแแกแจแ แจแแแแซแแแแ แแแแแแแ แแแ 0 แแแแขแแก แแแ แ แแแแแแแแแก แแ แแแ แฃแกแแแ, แ แแแแแแแช แแงแแแแแแ แแแแแแก แแแจแแคแแ แแก แแแแแ แแแแก (แงแแแแแแ แแแแ แชแแแแแฃแแ) แฉแแแฃแแแแ แแ แแแแแแแแก แแฎแแแแแ แแแแแ.
แฉแแแก แจแแแแฎแแแแแจแ, แแแแแแแกแฎแแแแแแแ แแแขแแแแก 4 แแแแขแแแแ แกแขแ แแฅแแแ (1, 0, 0, 0) แแแแแแฃแแ แแแจแแคแ แฃแแ แคแแแแแก แแแแแก, แ แแช แแแแ แขแแแแแก แแแแชแแแแก. แแ แแแแคแแชแแ แแแฃแแ แคแแแแแแแก แแแกแแซแแแแแ แกแแแแแ แแกแ แแงแ แกแแ แแแขแ:
def opened(path):
files = os.listdir(path)
for f in files:
if os.path.isfile(path + f):
yield path + f
for full_path in opened("C:somepath"):
file = open(full_path, "rb")
last_string = ""
for line in file:
last_string = line
file.close()
if (last_string[len(last_string) -4:len(last_string)]) != (1, 0, 0, 0):
print(full_path)
แแแ แแแแ, แแฆแแแฉแแแ, แ แแ แแแแแแก แแแ แแแแ แขแแแแก แคแแแแแแ. แแแแ แ แแแแชแแแก แฃแแแ แแ แฎแแแแ แแฃแจแแแแแก, แแแแ แแ แ แแช แแฆแแแฉแแแ แฃแแแ แกแแแแแ แแกแ แแงแ. แงแแแแแคแแ แ แแแ แแแ แแฅแแแแ, แแแแ แแ แฃแแแ แแชแแแ แแแกแแแฃแขแฃแ แแ แแฃแกแขแ แกแขแ แฃแฅแขแฃแ แ แแ (แ แ แแฅแแ แฃแแแ) แแแฉแแแ แจแแแแฎแแแแ, แ แแ แแ แแแแแฌแแ แแฃแจแแแแ แฎแจแแ แแ แชแแแแแแแแ แแแแแแแกแแแ. แแ แแแแก แแฎแกแแแแ, แจแแแชแแแแ แแฃ แแ แ แแแแแก แขแแแ แแฃ แแแแแแขแ แแฎแแแ แกแแแขแ.
Wilds City, แกแแแฌแฃแฎแแ แแ, แแแ แฃแจแแแแ แแกแแ แกแแฅแแแก, แ แแก แแแแแช แแฌแแ แแแ แแก แกแขแแขแแ.
แแแแแแแ แแแ แแแแ
แแ แกแแแแแก 3 แแแแก แฌแแแแแแแแ แชแฎแ แแแแก แกแขแ แฃแฅแขแฃแ แ, แ แแแแแแช แแ แแแแฎแแแแ แแแแแแแแแแแก (แจแแกแแซแแแ แแ แแ แแแแ แแ แจแแกแแซแแแ แแแขแ). แแแแแแแก แกแขแ แฃแฅแขแฃแ แ:
CREATE TABLE `table_1` (
`id` INT (11),
`date` DATETIME ,
`description` TEXT ,
`id_point` INT (11),
`id_user` INT (11),
`date_start` DATETIME ,
`date_finish` DATETIME ,
`photo` INT (1),
`id_client` INT (11),
`status` INT (1),
`lead__time` TIME ,
`sendstatus` TINYINT (4)
);
แแ แจแแแแฎแแแแแจแ, แแฅแแแ แฃแแแ แแแแแฆแแ:
id_point
int(11);id_user
int(11);date_start
DATETIME;date_finish
DATETIME.
แแฆแแแแแแกแแแแก แแแแแแงแแแแแ .ibd แคแแแแแก แแแแขแ-แแแแขแ แแแแแแแ, แ แแกแแช แแแฐแงแแแแ แแแแ แแแแแงแแแแ แฃแคแ แ แฌแแกแแแแแฎ แคแแ แแแจแ. แแแแก แแแแ, แ แแ แแแแแแแ แแก, แ แแช แแแญแแ แแแแ, แฉแแแ แแฎแแแแ แฃแแแ แแแแแแแแแแแแ แแแแแชแแแแ แขแแแแแ, แ แแแแ แแชแแ int แแ datatime, แกแขแแขแแแจแ แแฆแฌแแ แแแ แแฅแแแแ แแฎแแแแ แแกแแแ, แแแแ แแ แแแแฏแแ แฉแแแ แแกแแแ แแแแแแ แแแแ แแแแแชแแแแ แกแฎแแ แขแแแแแก, แ แแแแแแแช แจแแแซแแแแ แแแแแแฎแแแ แแก แกแฎแแ แแกแแแแก แแแชแแแแแขแแแจแ.
แแ แแแแแแ 1: DATETIME แแ TEXT แขแแแแแแก แแแแแแก แฐแฅแแแแแ NULL แแแแจแแแแแแแแแ แแ แแกแแแ แฃแแ แแแแ แแแแแขแแแแแฃแแแ แคแแแแจแ, แแแแก แแแแ แจแแฃแซแแแแแแ แแงแ แฉแแแก แจแแแแฎแแแแแจแ แแฆแแแแแแแ แกแขแ แฃแฅแขแฃแ แแก แแแแแแแ. แแฎแแ แกแแแขแแแจแ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ แแงแ null แแ แขแ แแแแแฅแชแแแก แแแฌแแแ แจแแแซแแแแ แแแแแแ แแแก innodb_flush_log_at_trx_commit = 0 แแแ แแแแขแ แแก แแแแ, แแแแขแแ แแแแแขแแแแแ แแ แ แฃแแแ แแแแฎแแ แฏแแก แกแขแ แฃแฅแขแฃแ แแก แแแกแแแแแแแ.
แแ แแแแแแ 2: แแแกแแแแแแแกแฌแแแแแแแแ, แ แแ DELETE-แแก แกแแจแฃแแแแแแ แฌแแจแแแแ แ แแแแแ แงแแแแ แแฅแแแแ ibd แคแแแแจแ, แแแแ แแ ALTER TABLE-แแ แแแแ แกแขแ แฃแฅแขแฃแ แ แแ แแแแแฎแแแแแ. แจแแแแแแ, แแแแแชแแแแ แกแขแ แฃแฅแขแฃแ แ แจแแแซแแแแ แแแแกแฎแแแแแแแแแแก แคแแแแแก แแแกแแฌแงแแกแแแแ แแแก แแแแแแแ. แแฃ แฎแจแแ แแ แแงแแแแแ OPTIMIZE TABLE-แก, แแแจแแ แแแแแแแแ แกแแแแ แแฃแแแ, แ แแ แจแแแฎแแแแ แแกแแแ แแ แแแแแแ.
แจแแแแจแแแ, DBMS แแแ แกแแ แแแแแแแแก แแฎแแแแก แแแแแชแแแแแแก แจแแแแฎแแแแ แแ แแก แแแแแแแแ แจแแแซแแแแ แแ แแแฃแจแแแก แกแฎแแ แซแแ แแแแ แแแ แกแแแแแ. แฉแแแก แจแแแแฎแแแแแจแ แแแแแงแแแแแฃแแ แแงแ mariadb 10.1.24 windows แแแ แกแแ. แแแ แแ แแแแกแ, แแแฃแฎแแแแแแ แแแแกแ, แ แแ mariadb-แจแ แแฃแจแแแแ InnoDB แชแฎแ แแแแแแแ, แกแแแแแแแแแแจแ แแกแแแ แแ แแแ
แคแแแแแก แแแแแแแ
แแแแแแจแ, แแแแแชแแแแ แขแแแ
แ แแแแแแแแ ibd แคแแแแแก แแแแแแแแแ แแแแก แจแแแแแ, แจแแแแซแแแแ แแแแแแ แจแแแแแแ:
แฃแคแ แ แแแขแแช, แแฃ แคแแแแก แแ แกแแแแแแซแ แกแแขแงแแแแแ แแแงแแคแ, แซแแ แแแแแแ แแแแฆแแแ แแแแแชแแแแ แแแแแแแก. แแแแงแแคแแ แแแแแแแงแแแแแ infimum-แก.
table = table.split("infimum".encode())
แกแแแแขแแ แแกแ แแแแแแ แแแแ: แแชแแ แ แ แแแแแแแแแก แแแแแชแแแแแแก แแฅแแแ แชแฎแ แแแแแแกแแแแก, infimum-แกแ แแ supremum-แก แจแแ แแก แแ แแก แแแฉแแแแแแแแ แแแแแจแ แแฌแแ แแแแแแก แ แแแแแแแแแแ.
- แขแแกแขแแก แแแแแแ 1 แ แแแแ
- แขแแกแขแแก แแแแแแ 2 แแฌแแ แแแแ
แแฌแแ แแแแก แแแกแแแแก แชแฎแ แแแแก[0] แแแแแขแแแแแ แจแแกแแซแแแแแแแ. แแแกแ แแแแแฎแแแแแก แจแแแแแ, แแ แแแแแช แแแ แแแแแแ แชแฎแ แแแแก แแแแแแฃแแ แแแแแชแแแแแ. แกแแแแ แแฃแแแ, แแก แแแแแ แแแแแแงแแแแแ แแแแแฅแกแแแแก แแ แแแกแแฆแแแแแแก แจแแกแแแแฎแแ.
แชแฎแ แแแแ[1]-แแ แแแฌแงแแแฃแแ แแ แแแกแ แชแแคแ แฃแ แแแกแแแจแ แแแ แแแแแ, แฃแแแ แจแแแแซแแแแ แจแแแแฉแแแแ แ แแแแแแแแ แแแแฃแจแ, แแแ แซแแ:
แแก แแ แแก int แแแแจแแแแแแแแแ, แ แแแแแแแช แแแแฎแแแ แกแขแ แแฅแแแจแ. แแแ แแแแ แแแแขแ แแแฃแแแแแแก แ แแชแฎแแ แแแแแแแแแ แแฃ แฃแแ แงแแคแแแ. แฉแแแก แจแแแแฎแแแแแจแ, แงแแแแ แ แแชแฎแแ แแแแแแแแแ. แแแ แฉแแแแแ 3 แแแแขแแแแ แจแแแแซแแแแ แแแแกแแแฆแแ แแ แ แแชแฎแแ แจแแแแแแ แคแฃแแฅแชแแแก แแแแแงแแแแแแ. แกแแ แแแขแ:
def find_int(val: str): # example '128, 1, 2, 3'
val = [int(v) for v in val.split(", ")]
result_int = val[1]*256**2 + val[2]*256*1 + val[3]
return result_int
แแแแแแแแแ, 128, 0, 0, 1 = 1แแ 128, 0, 75, 108 = 19308.
แชแฎแ แแแก แฐแฅแแแแ แแแ แแแแแแ แแแกแแฆแแแ แแแขแแแแขแฃแ แ แแแแ แแแ แแ แแก แแกแแแ แจแแแแซแแแแ แแแฎแแ แแฅ
แขแแกแขแแก แชแฎแ แแแแแแก แแแแแชแแแแแแก แจแแแแ แแแแก แจแแแแแ, แแฆแแแฉแแแ, แ แแ DATETIME แแแแแฅแขแ แจแแแแแแ 5 แแแแขแแกแแแแ แแ แแฌแงแแแ 153-แแ (แกแแแแ แแฃแแแ, แฌแแแฃแ แ แแแขแแ แแแแแแแก แแแแแแแแแ). แแแแแแแแ DATTIME แแแแแแแแแ แแ แแก '1000-01-01'-แแแ '9999-12-31'-แแแ, แแคแแฅแ แแ, แแแแขแแแแก แ แแแแแแแแ แจแแแซแแแแ แแแแกแฎแแแแแแแแแแก, แแแแ แแ แฉแแแก แจแแแแฎแแแแแจแ, แแแแแชแแแแแ แแแแแก 2016 แฌแแแแแ 2019 แฌแแแแแ แแแ แแแแจแ, แแกแ แ แแ, แฉแแแ แแแแแ แแฃแแแแ แแก 5 แแแแขแ แกแแแแแ แแกแแ.
แฌแแแแก แแแ แแจแ แแ แแแก แแแกแแแแแแแ แแแแฌแแ แ แจแแแแแแ แคแฃแแฅแชแแแแ. แกแแ แแแขแ:
day_ = lambda x: x % 64 // 2 # {x,x,X,x,x }
def hour_(x1, x2): # {x,x,X1,X2,x}
if x1 % 2 == 0:
return x2 // 16
elif x1 % 2 == 1:
return x2 // 16 + 16
else:
raise ValueError
min_ = lambda x1, x2: (x1 % 16) * 4 + (x2 // 64) # {x,x,x,X1,X2}
แฌแแแก แแ แแแแก แคแฃแแฅแชแแฃแ แ แคแฃแแฅแชแแแก แแแฌแแ แ แจแแฃแซแแแแแแ แแงแ, แแแแขแแ แแแแแฌแแ แแแกแ แแแขแแฎแแ. แกแแ แแแขแ:
ym_list = {'2016, 1': '153, 152, 64', '2016, 2': '153, 152, 128',
'2016, 3': '153, 152, 192', '2016, 4': '153, 153, 0',
'2016, 5': '153, 153, 64', '2016, 6': '153, 153, 128',
'2016, 7': '153, 153, 192', '2016, 8': '153, 154, 0',
'2016, 9': '153, 154, 64', '2016, 10': '153, 154, 128',
'2016, 11': '153, 154, 192', '2016, 12': '153, 155, 0',
'2017, 1': '153, 155, 128', '2017, 2': '153, 155, 192',
'2017, 3': '153, 156, 0', '2017, 4': '153, 156, 64',
'2017, 5': '153, 156, 128', '2017, 6': '153, 156, 192',
'2017, 7': '153, 157, 0', '2017, 8': '153, 157, 64',
'2017, 9': '153, 157, 128', '2017, 10': '153, 157, 192',
'2017, 11': '153, 158, 0', '2017, 12': '153, 158, 64',
'2018, 1': '153, 158, 192', '2018, 2': '153, 159, 0',
'2018, 3': '153, 159, 64', '2018, 4': '153, 159, 128',
'2018, 5': '153, 159, 192', '2018, 6': '153, 160, 0',
'2018, 7': '153, 160, 64', '2018, 8': '153, 160, 128',
'2018, 9': '153, 160, 192', '2018, 10': '153, 161, 0',
'2018, 11': '153, 161, 64', '2018, 12': '153, 161, 128',
'2019, 1': '153, 162, 0', '2019, 2': '153, 162, 64',
'2019, 3': '153, 162, 128', '2019, 4': '153, 162, 192',
'2019, 5': '153, 163, 0', '2019, 6': '153, 163, 64',
'2019, 7': '153, 163, 128', '2019, 8': '153, 163, 192',
'2019, 9': '153, 164, 0', '2019, 10': '153, 164, 64',
'2019, 11': '153, 164, 128', '2019, 12': '153, 164, 192',
'2020, 1': '153, 165, 64', '2020, 2': '153, 165, 128',
'2020, 3': '153, 165, 192','2020, 4': '153, 166, 0',
'2020, 5': '153, 166, 64', '2020, 6': '153, 1, 128',
'2020, 7': '153, 166, 192', '2020, 8': '153, 167, 0',
'2020, 9': '153, 167, 64','2020, 10': '153, 167, 128',
'2020, 11': '153, 167, 192', '2020, 12': '153, 168, 0'}
def year_month(x1, x2): # {x,X,X,x,x }
for key, value in ym_list.items():
key = [int(k) for k in key.replace("'", "").split(", ")]
value = [int(v) for v in value.split(", ")]
if x1 == value[1] and x2 // 64 == value[2] // 64:
return key
return 0, 0
แแแ แฌแแฃแแแแฃแแ แแแ , แ แแ แแฃ แแฅแแแ แแแฎแแ แฏแแแ n แแ แแก, แแก แแแฃแแแแ แแแ แจแแแซแแแแ แแแแแกแฌแแ แแแก.
แจแแแแแแ, แคแฃแแฅแชแแ, แ แแแแแแช แแแ แฃแแแแก แแแ แแฆแแก แแ แแแก แแแแแฅแขแก แกแขแ แแฅแแแแแแ. แกแแ แแแขแ:
def find_data_time(val:str):
val = [int(v) for v in val.split(", ")]
day = day_(val[2])
hour = hour_(val[2], val[3])
minutes = min_(val[3], val[4])
year, month = year_month(val[1], val[2])
return datetime(year, month, day, hour, minutes)
แแแแฎแแ แฎแ แฎแจแแ แแ แแแแแแแ แแแแแ แแแแจแแแแแแแแแแก แแฆแแแฉแแแ int, int, datetime, datetime , แ แแแแ แช แฉแแแก, แแก แแ แแก แแก, แ แแช แแญแแ แแแแแ. แฃแคแ แ แแแขแแช, แแกแแแ แแแแแแแแแแ แแแ แแ แแแแ แแแแ แแ แฏแแ แกแขแ แแฅแแแแ.
แ แแแฃแแแ แฃแแ แแแแแฎแแขแแแก แแแแแงแแแแแแ, แฉแแแ แแแแฃแแแแ แกแแญแแ แ แแแแแชแแแแแก:
fined = re.findall(r'128, d*, d*, d*, 128, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*, 153, 1[6,5,4,3]d, d*, d*, d*', int_array)
แแแฎแแแ แแแแแแแแแกแฌแแแแ, แ แแ แแ แแแแแแแแฅแแแแแก แแแแแงแแแแแแ แซแแแแแกแแก แจแแฃแซแแแแแแ แแฅแแแแ NULL แแแแจแแแแแแแแแแก แแแแกแแแฆแแ แ แกแแญแแ แ แแแแแแจแ, แแแแ แแ แฉแแแก แจแแแแฎแแแแแจแ แแก แแ แแ แแก แแ แแขแแแฃแแ. แจแแแแแ แฉแแแ แแแแแแแแ แ แแแแก, แ แแช แแฆแแแแแฉแแแแ แแแ แงแฃแแจแ. แกแแ แแแขแ:
result = []
for val in fined:
pre_result = []
bd_int = re.findall(r"128, d*, d*, d*", val)
bd_date= re.findall(r"(153, 1[6,5,4,3]d, d*, d*, d*)", val)
for it in bd_int:
pre_result.append(find_int(bd_int[it]))
for bd in bd_date:
pre_result.append(find_data_time(bd))
result.append(pre_result)
แกแแแแแแแแแแจแ, แแก แงแแแแแคแแ แแ, แจแแแแแแแแก แแแกแแแแแแ แแแฆแแแฃแแ แแแแแชแแแแแ แแ แแก แแก แแแแแชแแแแแ, แ แแช แฉแแแ แแแญแแ แแแแ. ###PS.###
แแ แแแกแแแก, แ แแ แแก แแแแแแ แงแแแแแกแแแแก แจแแกแแคแแ แแกแ แแ แแ แแก, แแแแ แแ แกแขแแขแแแก แแแแแแ แ แแแแแแแ แแแฅแแแแแแแก แแแฉแฅแแ แแแ แแ แแ แ แงแแแแ แแฅแแแแ แแ แแแแแแแก แแแแแญแ แ. แแคแแฅแ แแ, แงแแแแแแ แกแฌแแ แ แแแแแกแแแแแ แแฅแแแแ แฌแงแแ แแก แแแแแก แจแแกแฌแแแแ แแแแแ แแแแฌแงแแ
แแแแแแ แ แจแแแแฎแแแแแจแ, แคแแแแแก แแแแแแแแแแแแก แจแแแแแ, แแฅแแแ แจแแซแแแแ แแแแแแแแแ แกแแแแ แแฃแแ แกแขแ แฃแฅแขแฃแ แ แแ แแฆแแแแแแแ แแแ แแแแแ แแแชแแแฃแแ แแแฃแแแแแแแ แแ แ-แแ แแ แกแขแแแแแ แขแฃแแ แแแแแแแก แแแแแงแแแแแแ. แแก แแแแ แแ แฃแคแ แ แกแฌแแ แ แแฅแแแแ แแ แแแแแแ แแ แแแแแแแแก แแแแแแฌแแแแก.
แฌแงแแ แ: www.habr.com