封装了一些日常用的函数
Project description
使用方法:
pip install simple-util
from simple_util import SUtil
# 比较两个列表,返回删除的列表和新增的列表
print(SUtil.parse_diffrent_list([1,2,3], [1,2,3,4]))
([], [4])
# 将列表进行拆分
SUtil.slice_data([1,2,3,4],2)
输出:[[1, 2], [3, 4]]
# 安全删除列表中的元素
from simple_util import DeleteSafeList
a=[1,2,3,45,6,56,78]
safeDelete = DeleteSafeList(a)
for item in safeDelete:
if item ==45:
safeDelete.RemoveCurrent()
print(a)
# [1, 2, 3, 6, 56, 78]
日期处理函数
from simple_util import DateUtil
# 获取指定日期的指定小时到指定小时的时间,如果endHour小于beginHour,则结束时间为第二天
print(DateUtil.datetime_range(datetime.now(),beginHour=22,willHour=10))
# 计算从当前时间到未来时间,返回时间戳(精确到秒),如果传入负数,则返回从过去到当前的时间戳
print(DateUtil.timestamp_from_now(minutes=-5))
雪花算法生成Id
from simple_util import SnowflakeIDGenerator
print(SnowflakeIDGenerator().get_next_id())
日志
from simple_util.slogger import create_logger
logger,handler = create_logger(logging.DEBUG,'appName','production',filname='log/app',file_type='log',backupCount=5,maxBytes=10485760,mutiple_process=False)
# mutiple_process 是否多进程,多进程需要生成不同的文件
logger.info('hello world')
日志进阶用法,设置traceId:
from simple_util.slogger import user_id,user_info,new_trace
req_trace_id = request.headers.get("X-Trace-ID") or str(uuid4())
new_trace(req_trace_id)
user_id.set('login user id')
# user_info用于存储用户自定义的信息,方便在其他地方取用
user_info.set({'name':'login user name','email':'login user email'})
日志自定义打印格式:
class JsonFormatter(logging.Formatter):
def format(self, record):
# 构建日志记录的字典
log_record = {
"appName":appName,
"serverAddr":os.environ.get('IP',localIp),
"cluster": env,
"levelname": record.levelname,
"filename": record.filename,
"lineno": record.lineno,
"traceId": record.trace_id,
"sessionId": record.session_id,
"userid":record.userid,
"seqId": record.seq,
"message": record.getMessage(),
"CreateTime": self.formatTime(record, self.datefmt),
"createdOn": int(time.time() * 1000) # 添加 Unix 时间戳
}
# 将字典转换为 JSON 字符串
return json.dumps(log_record, ensure_ascii=False)
from simple_util.slogger import create_logger
logger,handler = create_logger(logging.DEBUG,'appName','production',filname='log/app',file_type='log',backupCount=5,maxBytes=10485760)
handler.setFormatter(JsonFormatter())
logger.info('hello world')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
simple_util-0.3.11.tar.gz
(14.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_util-0.3.11.tar.gz.
File metadata
- Download URL: simple_util-0.3.11.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cf9d365d9184c61d14f4e0d4a954c5383cdae00759ef2dd305873bb13323364
|
|
| MD5 |
5e871e21e372e0576d650cb136e64f92
|
|
| BLAKE2b-256 |
4fd1a5eceafc3861f17fafdc2672a6ff4d9020b810ed96d1a9abb8bd1970b986
|
File details
Details for the file simple_util-0.3.11-py3-none-any.whl.
File metadata
- Download URL: simple_util-0.3.11-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77fc96415b5840d1bc221e23bbf0c23372c6ec55e58a9a6ba5395156aa359981
|
|
| MD5 |
2a0a6997784b6dec9b12e14db25c49bd
|
|
| BLAKE2b-256 |
b83e5140863c5d2ff37632f0d3da18ed70767e1aec74f7c57efaccde0fe03238
|