เชชเซเชฐเชพเชเซเชคเชฟเชนเชพเชธเชฟเช
เชเชตเซเช เชฌเชจเซเชฏเซเช เชเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซเชจเซเชธเชฎเชตเซเชฐ เชตเชพเชฏเชฐเชธ เชฆเซเชตเชพเชฐเชพ เชนเซเชฎเชฒเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ, เชเซเชฃเซ "เชญเชพเชเซเชฏเชถเชพเชณเซ เช เชเชธเซเชฎเชพเชค" เชฆเซเชตเชพเชฐเชพ .ibd เชซเชพเชเชฒเซ (innodb เชเซเชทเซเชเชเซเชจเซ เชเชพเชเซ เชกเซเชเชพ เชซเชพเชเชฒเซ) เชจเซ เชเชเชถเชฟเช เชฐเซเชคเซ เช เชธเซเชชเซเชถเซเชฏ เชเซเชกเซ เชฆเซเชงเซ, เชชเชฐเชเชคเซ เชคเซ เช เชธเชฎเชฏเซ .fpm เชซเชพเชเชฒเซเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเชจเซเชเซเชฐเชฟเชชเซเช เชเชฐเซ ( เชธเซเชเซเชฐเชเซเชเชฐ เชซเชพเชเชฒเซ). เช เชเชฟเชธเซเชธเชพเชฎเชพเช, .idb เชจเซ เชตเชฟเชญเชพเชเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ:
- เชฎเชพเชจเช เชธเชพเชงเชจเซ เช
เชจเซ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเช เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชเชธเชเชเซเชฐเชนเชจเซ เชเชงเซเชจ. เชเชตเชพ เชเชฟเชธเซเชธเชพเช เชฎเชพเชเซ, เชเช เชเชคเซเชคเชฎ เชเซ
banavu ; - เชเชเชถเชฟเช เชฐเซเชคเซ เชเชจเซเชเซเชฐเชฟเชชเซเชเซเชก เชเซเชทเซเชเชเซ. เชฎเซเชเซ เชญเชพเชเซ เช เชฎเซเชเชพ เชเซเชทเซเชเชเซ เชเซ, เชเซเชจเชพ เชฎเชพเชเซ (เชเซเชฎ เชนเซเช เชธเชฎเชเซเช เชเซเช) เชนเซเชฎเชฒเชพเชเซเชฐเซ เชชเชพเชธเซ เชธเชเชชเซเชฐเซเชฃ เชเชจเซเชเซเชฐเชฟเชชเซเชถเชจ เชฎเชพเชเซ เชชเซเชฐเชคเซ RAM เชจเชฅเซ;
- เช เซเช เชเซ, เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเชจเซเชเซเชฐเชฟเชชเซเชเซเชก เชเซเชทเซเชเชเซ เชเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชถเชเชพเชคเชพ เชจเชฅเซ.
เชเชเซเชเชฟเชค เชเชจเซเชเซเชกเชฟเชเช เชนเซเช เชณ เชเซเชเชชเชฃ เชเซเชเซเชธเซเช เชเชกเชฟเชเชฐเชฎเชพเช เชคเซเชจเซ เชเซเชฒเซเชจเซ (เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซ 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)
เชเชฎ, เชคเซ เชชเซเชฐเชฅเชฎ เชชเซเชฐเชเชพเชฐเชจเซ เชซเชพเชเชฒเซ เชถเซเชงเชตเชพเชจเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช. เชฌเซเชเชพเชฎเชพเช เชเชฃเชพเช เชฎเซเชจเซเชฏเซเช เชฒ เชตเชฐเซเชเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชเซ เชฎเชณเซเชฏเซเช เชคเซ เชชเชนเซเชฒเซเชฅเซ เช เชชเซเชฐเชคเซเช เชนเชคเซเช. เชฌเชงเซเช เชธเชพเชฐเซเช เชฐเชนเซเชถเซ, เชชเชฐเชเชคเซ เชคเชฎเชพเชฐเซ เชเชพเชฃเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเชเชฆเชฎ เชเซเชเซเชเชธ เชฎเชพเชณเชเซเช เช เชจเซ (เช เชฒเชฌเชคเซเชค) เชเช เชเชฟเชธเซเชธเซ เชเชญเซ เชฅเชฏเซ เชเซ เชฎเชพเชฐเซ เชตเชพเชฐเชเชตเชพเชฐ เชฌเชฆเชฒเชพเชคเชพ เชเซเชฌเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช เชชเชกเซเชฏเซเช. เชซเซเชฒเซเชกเชจเซ เชชเซเชฐเชเชพเชฐ เชฌเชฆเชฒเชพเชฏเซ เชนเชคเซ เชเซ เชจเชตเซ เชเซเชฒเชฎ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ เชคเซ เชเซเชเชจเซ เชฏเชพเชฆ เชจเชฅเซ.
เชตเชพเชเชฒเซเชก เชธเชฟเชเซ, เชเชฎเชจเชธเซเชฌเซ, เชเชตเชพ เชเซเชธเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซเชฏเซเช เชจเชฅเซ, เชคเซเชฅเซ เช เช เชฒเซเช เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชฐเชนเซเชฏเซ เชเซ.
เชฎเซเชฆเซเชฆเชพ เชชเชฐ เชฎเซเชณเชตเซ
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
เชคเชพเชฐเซเช เชธเชฎเชฏ;date_finish
เชคเชพเชฐเซเช เชธเชฎเชฏ.
เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชฎเชพเชเซ, .ibd เชซเชพเชเชฒเชจเชพ เชฌเชพเชเช-เชฌเชพเชฏ-เชฌเชพเชเช เชตเชฟเชถเซเชฒเซเชทเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชคเซเชจเซ เชตเชงเซ เชตเชพเชเชเซ เชถเชเชพเชฏ เชคเซเชตเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชฎเชจเซ เชเซ เชเซเชเช เชเซ เชคเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ, เช เชฎเชพเชฐเซ เชซเชเซเชค เชเชจเซเช เช เชจเซ เชกเซเชเชพเชเชพเชเชฎ เชเซเชตเชพ เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชฒเซเช เชซเชเซเชค เชคเซเชจเซเช เช เชตเชฐเซเชฃเชจ เชเชฐเชถเซ, เชชเชฐเชเชคเซ เชเซเชเชฒเซเชเชตเชพเชฐ เช เชฎเซ เช เชจเซเชฏ เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซเชจเซ เชชเชฃ เชเชฒเซเชฒเซเช เชเชฐเซเชถเซเช, เชเซ เช เชจเซเชฏ เชธเชฎเชพเชจ เชเชเชจเชพเชเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ.
เชธเชฎเชธเซเชฏเชพ 1: DATETIME เช เชจเซ TEXT เชชเซเชฐเชเชพเชฐเซ เชธเชพเชฅเซเชจเชพ เชเซเชทเซเชคเซเชฐเซเชฎเชพเช NULL เชฎเซเชฒเซเชฏเซ เชนเชคเชพ, เช เชจเซ เชคเซ เชซเชพเชเชฒเชฎเชพเช เชเชพเชฒเซ เชเซเชกเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ, เช เชเชพเชฐเชฃเซ, เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชฎเชพเชณเชเซเช เชจเชเซเชเซ เชเชฐเชตเซเช เชถเชเซเชฏ เชจ เชนเชคเซเช. เชจเชตเซ เชเซเชฒเชฎเซเชธเชฎเชพเช, เชกเชฟเชซเซเชฒเซเช เชฎเซเชฒเซเชฏ เชถเซเชจเซเชฏ เชนเชคเซเช, เช เชจเซ innodb_flush_log_at_trx_commit = 0 เชธเซเชเชฟเชเชเชจเซ เชเชพเชฐเชฃเซ เชตเซเชฏเชตเชนเชพเชฐเชจเซ เชญเชพเช เชเซเชตเชพเช เชถเชเซ เชเซ, เชคเซเชฅเซ เชฎเชพเชณเชเซเช เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชงเชพเชฐเชพเชจเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเชตเซ เชชเชกเชถเซ.
เชธเชฎเชธเซเชฏเชพ 2: เชคเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชตเซเช เชเซเชเช เชเซ DELETE เชฆเซเชตเชพเชฐเชพ เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซเชฒเซ เชชเชเชเซเชคเชฟเช เชคเชฎเชพเชฎ ibd เชซเชพเชเชฒเชฎเชพเช เชนเชถเซ, เชชเชฐเชเชคเซ ALTER TABLE เชธเชพเชฅเซ เชคเซเชฎเชจเซเช เชฎเชพเชณเชเซเช เช เชชเชกเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช. เชชเชฐเชฟเชฃเชพเชฎเซ, เชกเซเชเชพ เชฎเชพเชณเชเซเช เชซเชพเชเชฒเชจเซ เชถเชฐเซเชเชคเชฅเซ เชคเซเชจเชพ เช เชเชค เชธเซเชงเซ เชฌเชฆเชฒเชพเช เชถเชเซ เชเซ. เชเซ เชคเชฎเซ เชตเชพเชฐเชเชตเชพเชฐ OPTIMIZE TABLE เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชคเซ เชชเชเซ เชคเชฎเชจเซ เชเชตเซ เชธเชฎเชธเซเชฏเชพ เชเชตเชตเชพเชจเซ เชถเชเซเชฏเชคเชพ เชจเชฅเซ.
เชงเซเชฏเชพเชจ เชเชชเซ, DBMS เชธเชเชธเซเชเชฐเชฃ เชกเซเชเชพ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชจเซ เชฐเซเชคเชจเซ เช
เชธเชฐ เชเชฐเซ เชเซ, เช
เชจเซ เช เชเชฆเชพเชนเชฐเชฃ เช
เชจเซเชฏ เชฎเซเชเซเชฏ เชธเชเชธเซเชเชฐเชฃเซ เชฎเชพเชเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ. เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, mariadb 10.1.24 เชจเชพ เชตเชฟเชจเซเชกเซเช เชตเชฐเซเชเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชเชชเชฐเชพเชเชค, เชเซ เชเซ mariadb เชฎเชพเช เชคเชฎเซ InnoDB เชเซเชทเซเชเชเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ, เชนเชเซเชเชคเชฎเชพเช เชคเซ เชเซ
เชซเชพเชเชฒ เชตเชฟเชถเซเชฒเซเชทเชฃ
เชชเชพเชฏเชฅเซเชจเชฎเชพเช, เชกเซเชเชพ เชชเซเชฐเชเชพเชฐ
เชเชฃเซ ibd เชซเชพเชเชฒเซ เชเซเชฏเชพ เชชเชเซ, เชคเชฎเซ เชจเซเชเซเชจเซ เชถเซเชงเซ เชถเชเซ เชเซ:
เชคเชฆเซเชชเชฐเชพเชเชค, เชเซ เชคเชฎเซ เช เชเซเชตเชฐเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชซเชพเชเชฒเชจเซ เชตเชฟเชญเชพเชเซเชค เชเชฐเซ เชเซ, เชคเซ เชคเชฎเชจเซ เชฎเซเชเชพเชญเชพเชเซ เชกเซเชเชพเชจเชพ เชฌเซเชฒเซเชเซเชธ เชชเชฃ เชฎเชณเชถเซ. เช เชฎเซ เชตเชฟเชญเชพเชเช เชคเชฐเซเชเซ infimum เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
table = table.split("infimum".encode())
เชเช เชฐเชธเชชเซเชฐเชฆ เช เชตเชฒเซเชเชจ: เชจเชพเชจเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชกเซเชเชพ เชธเชพเชฅเซเชจเชพ เชเซเชทเซเชเชเซ เชฎเชพเชเซ, เชเชจเซเชซเชฟเชฎเชฎ เช เชจเซ เชธเชฐเซเชตเซเชเซเช เชตเชเซเชเซ เชฌเซเชฒเซเชเชฎเชพเช เชชเชเชเซเชคเชฟเชเชจเซ เชธเชเชเซเชฏเชพ เชฎเชพเชเซ เชจเชฟเชฐเซเชฆเซเชถเช เชเซ.
- 1เชฒเซ เชชเชเชเซเชคเชฟ เชธเชพเชฅเซเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเซเชฌเชฒ
- 2 เชชเชเชเซเชคเชฟเช เชธเชพเชฅเซเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเซเชฌเชฒ
เชชเชเชเซเชคเชฟ เชเชฐเซ เชเซเชทเซเชเช[0] เชเซเชกเซ เชถเชเชพเชฏ เชเซ. เชคเซ เชเซเชฏเชพ เชชเชเซ, เชนเซเช เชนเชเซ เชชเชฃ เชเชพเชเซ เชเซเชฌเชฒ เชกเซเชเชพ เชถเซเชงเซ เชถเชเซเชฏเซ เชจ เชนเชคเซ. เชฎเซเชเซ เชญเชพเชเซ, เช เชฌเซเชฒเซเชเชจเซ เชเชชเชฏเซเช เชเชจเซเชกเซเชเซเชธ เช
เชจเซ เชเซ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ.
เชเซเชทเซเชเช[1] เชฅเซ เชถเชฐเซ เชเชฐเซเชจเซ เช
เชจเซ เชคเซเชจเซ เชเชเชเชกเชพเชเซเชฏ เชเชฐเซเชฎเชพเช เชญเชพเชทเชพเชเชคเชฐ เชเชฐเซเชจเซ, เชคเชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเซเชเชฒเซเช เชชเซเชเชฐเซเชจ เชจเซเชเชงเซ เชถเชเซ เชเซ, เชเซเชฎ เชเซ:
เช เชเช เชถเชฌเซเชฆเชฎเชพเชณเชพเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชชเซเชฐเซเชฃเชพเชเช เชฎเซเชฒเซเชฏเซ เชเซ. เชชเซเชฐเชฅเชฎ เชฌเชพเชเช เชธเซเชเชตเซ เชเซ เชเซ เชธเชเชเซเชฏเชพ เชนเชเชพเชฐเชพเชคเซเชฎเช เชเซ เชเซ เชจเชเชพเชฐเชพเชคเซเชฎเช. เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชฌเชงเซ เชธเชเชเซเชฏเชพเช เชนเชเชพเชฐเชพเชคเซเชฎเช เชเซ. เชฌเชพเชเซเชจเชพ 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
เชฎเชจเซ เชเชพเชคเชฐเซ เชเซ เชเซ เชเซ เชคเชฎเซ เชตเชงเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเชถเซ, เชคเซ เช เชเซเชฐเชธเชฎเช เชธเซเชงเชพเชฐเซ เชถเชเชพเชถเซ.
เชเชเชณ, เชเช เชซเชเชเซเชถเชจ เชเซ เชเซ เชธเซเชเซเชฐเชฟเชเชเชฎเชพเชเชฅเซ เชกเซเชเชเชพเชเชฎ เชเชฌเซเชเซเชเซเช เชชเชฐเชค เชเชฐเซ เชเซ. เชธเซเชเซเชฐเชฟเชชเซเช:
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