94 lines
2.5 KiB
Python
94 lines
2.5 KiB
Python
import os
|
||
import logging
|
||
import datetime
|
||
import psycopg2
|
||
import calendar
|
||
|
||
|
||
def create_logger(log_path):
|
||
"""
|
||
将日志输出到日志文件和控制台
|
||
"""
|
||
logger = logging.getLogger(__name__)
|
||
logger.setLevel(logging.INFO)
|
||
|
||
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(filename)s[%(lineno)d]- %(message)s')
|
||
|
||
# 创建一个handler,用于写入日志文件
|
||
file_handler = logging.FileHandler(filename=log_path)
|
||
file_handler.setFormatter(formatter)
|
||
file_handler.setLevel(logging.INFO)
|
||
if file_handler not in logger.handlers:
|
||
logger.addHandler(file_handler)
|
||
|
||
# 创建一个handler,用于将日志输出到控制台
|
||
console = logging.StreamHandler()
|
||
console.setLevel(logging.DEBUG)
|
||
console.setFormatter(formatter)
|
||
if console not in logger.handlers:
|
||
logger.addHandler(console)
|
||
|
||
return logger
|
||
|
||
|
||
|
||
def get_conn():
|
||
from config import host, port, database, user, passwd
|
||
conn_string = "host=" + host + " port=" + str(port) + " dbname=" + database + " user=" + user + " password=" + passwd
|
||
conn = psycopg2.connect(conn_string)
|
||
return conn
|
||
|
||
|
||
def get_month_date(year, month):
|
||
date_list = []
|
||
for i in range(calendar.monthrange(year, month)[1] + 1)[1:]:
|
||
str1 = str(year) + '-' + str("%02d" % month) + '-' + str("%02d" % i)
|
||
date_list.append(str1)
|
||
return date_list
|
||
|
||
|
||
def get_file_name(fname):
|
||
"""
|
||
获取文件名
|
||
"""
|
||
return os.path.split(fname)[-1].split(".")[0]
|
||
|
||
|
||
def get_file_size(fname):
|
||
"""
|
||
获取文件大小MB
|
||
"""
|
||
fsize = os.path.getsize(fname)
|
||
fsize = fsize/float(1024 * 1024)
|
||
return round(fsize, 2)
|
||
|
||
|
||
def get_before_date(n):
|
||
"""
|
||
获取前N天的日期
|
||
"""
|
||
today = datetime.datetime.now()
|
||
# 计算偏移量
|
||
offset = datetime.timedelta(days=-n)
|
||
re_date = (today + offset).strftime('%Y-%m-%d')
|
||
return re_date
|
||
|
||
|
||
def compare_date(date1, date2):
|
||
return date1 < date2
|
||
|
||
|
||
def get_between_dates(begin_date_str, end_date_str):
|
||
date_list = []
|
||
begin_date = datetime.datetime.strptime(begin_date_str, "%Y-%m-%d")
|
||
end_date = datetime.datetime.strptime(end_date_str, "%Y-%m-%d")
|
||
while begin_date < end_date:
|
||
begin_date += datetime.timedelta(days=1)
|
||
date_list.append(begin_date.strftime('%Y-%m-%d'))
|
||
return date_list
|
||
|
||
|
||
if __name__ == '__main__':
|
||
# print(get_before_date(60))
|
||
# print(compare_date('2023-01-05', '2023-01-03'))
|
||
print(get_between_dates('2023-02-09', '2023-03-04')) |