Python工具函式

2021-10-03 21:16:56 字數 2051 閱讀 2749

import hashlib

import os

import time

from datetime import datetime

from datetime import timedelta

import base64

import zlib

def zlib_compress(data):

return base64.b64encode(zlib.compress(data))

def zlib_decompress(data_str):

return zlib.decompress(base64.b64decode(data_str))

def datetime_to_timestamp(d_time=none):

""" 將datetime型別轉換為時間戳 """

return time.mktime(d_time.timetuple())

def md5(string):

""" 獲取字串的md5值 """

if isinstance(string, str):

m = hashlib.md5()

m.update(string.encode('utf-8'))

return m.hexdigest()

else:

return none

def get_file_md5(file_path, mode=0):

""" 獲取檔案的md5值 """

hash_obj = hashlib.md5()

# 獲取本地檔案md5

if mode == 0:

with open(file_path, 'rb') as file_obj:

while true:

b = file_obj.read(8096)

if not b:

break

hash_obj.update(b)

# 獲取django file_obj md5

else:

for chunk in file_path.chunks():

hash_obj.update(chunk)

return hash_obj.hexdigest()

def timestr_to_timestamp(timestr):

"""將時間字串(2019-01-21 00:00:00)轉時間戳"""

return time.mktime(time.strptime(timestr, '%y-%m-%d %h:%m:%s'))

def date_str_to_datetime(date):

"""將2019-01-21字串格式日期轉化為datetime格式"""

date1 = date.split("-")

date_dt = datetime(int(date1[0]), int(date1[1]), int(date1[2]))

return date_dt + timedelta(days=1) # 延後一天易於比較

def file_iterator(file_name, chunk_size=8888):

"""獲取檔案流迭代器"""

with open(file_name, "rb") as f:

while true:

c = f.read(chunk_size)

if c:

yield c

else:

break

def handle_messy_code(content):

"""解決文字亂碼"""

try:

content_bytes = bytes(content)

chinese_str = content_bytes.decode('unicode_escape').encode('latin1').decode('utf-8')

return chinese_str

except unicodedecodeerror as e:

pass

python 日期時間轉換函式工具集

python中常用的日期時間轉換工具有datetime和time,用法很詳細複雜,複雜到每次本人使用的時候必須對照著文件使用。特別是在獲取當前日期時間,日前時間轉換成時間戳,時間戳轉換成日期時間,時間差等時,必須要對照文件,麻煩。現在封裝了最最常用的函式,希望大家能不用文件直接使用。工具存放到了gi...

QueryString工具函式

querystring使用方法 1 單獨使用 pagejsdataobj.querystring aaa 獲取url中aaa引數 2 物件引數 var a pagejsdataobj.querystring 獲取url中aa和bb引數 若沒有該引數則返回引數物件值 a.aa這個是aa引數,若沒有該引...

iOS 工具函式

1.時間 取得時間差 double getstringtimediff nsstring times timee nsstring timee 換算成幾天幾小時幾分鐘 nsstring timeformatted int totalseconds else 2.顏色 合成顏色 uicolor col...