Python3 常用方法封裝(1)

2021-10-05 02:27:26 字數 3151 閱讀 4785

import time

import datetime

defnow_datetime

(_format=

"%y-%m-%d %h:%m:%s")-

>

str:

""" 獲取當前日期時間

:param _format: 日期時間格式,預設:年-月-日 時:分:秒

:return: 當前日期時間

"""return time.strftime(_format)

defnow_timestamp

(ms=

false)-

>

int:

""" 獲取當前時間戳

:param ms: 是否獲取毫秒級時間戳,預設是秒級

:return: 時間戳

"""timestamp = time.time(

)if ms:

return

round

(timestamp *

1000

)else

:return

int(timestamp)

defget_the_datetime

(_type:

str, n:

int, _format=

"%y-%m-%d %h:%m:%s"):

""" 獲取相對日期時間

:param _type: 型別

:param n: 數值

:param _format: 返回格式

:return: 返回前n天、後n天、前n個小時、後n個小時等

"""now = datetime.datetime.now(

)if _type ==

"day"

:return

(now + datetime.timedelta(days=n)

).strftime(_format)

elif _type ==

"hour"

:return

(now + datetime.timedelta(hours=n)

).strftime(_format)

elif _type ==

"minutes"

:return

(now + datetime.timedelta(minutes=n)

).strftime(_format)

else

:return

none

import hashlib

defstring_md5

(_str)

->

str:

""" 計算字串md5

:param _str: 待計算md5的字串

:return: md5值

"""iftype

(_str)

isnot

bytes

: _str = _str.encode(

) my_md5 = hashlib.md5(

) my_md5.update(_str)

my_md5_digest = my_md5.hexdigest(

)return my_md5_digest

deffile_md5

(file_path)

->

str:

""" 計算檔案md5

:param file_path: 待計算md5值的檔案

:return: md5值

"""with

open

(file_path,

'rb'

)as f:

md5obj = hashlib.md5(

) md5obj.update(f.read())

_hash = md5obj.hexdigest(

)return _hash

import logging

import os

import time

defget_logger()

:# 新建乙個logger

_logger = logging.getlogger(

) _logger.setlevel(logging.notset)

# 等級總開關

rq = time.strftime(

'%y%m%d'

, time.localtime(time.time())

) log_path = os.path.dirname(__file__)

+'/logs/'

ifnot os.path.exists(log_path)

: os.mkdir(log_path)

log_name = log_path + rq +

'.log'

# 建立乙個filehandler用於把日誌寫入檔案

fh = logging.filehandler(log_name, mode=

'a')

fh.setlevel(logging.info)

# 輸出到file的log等級的開關

# 定義日誌格式

formatter = logging.formatter(

"[%(asctime)s] [%(levelname)s] [%(filename)s: %(lineno)d]: %(message)s"

) fh.setformatter(formatter)

_logger.addhandler(fh)

# 建立乙個streamhandler用於把日誌輸出到控制台

ch = logging.streamhandler(

) ch.setlevel(logging.warning)

# 輸出控制台的log等級開關

ch.setformatter(formatter)

_logger.addhandler(ch)

return _logger

# 使用方法

logger = get_logger(

)logger.warning(

"haha"

)

python3基礎 元祖tuple常用方法

tuple元祖一級元素不能被修改,刪除。二級元素可以被修改。元祖與list列表非常相似,有序。只是用小括號表示。由於與方法傳引數特別類似,一般在結尾加上逗號 如 1,abc 1.索引 切片 同list一樣。超出索引會報錯 tu 00,11,22 v1 tu 2 v2 tu 0 1 print v1,...

python3內建方法

本文大部分內容來自 主要內容為python3中的內建函式,可以通過命令 dir builtins 進行查詢 對於具體某個內建函式可以通過命令 help 函式名 檢視其功能和具體用法。內建函式 abs 對傳入引數取絕對值 bool 對傳入引數取布林值,none,0,這些引數傳入bool後,返回fals...

python3 時間模組常用方法

import time import datetime 時間戳 用於計算 print time.time 時間戳轉換成結構化時間 print time.localtime 15465268214 當地時間 print time.gmtime 世界標準時間utc 將結構化時間轉化成時間戳 print ...