day 15-時間とhashとjson
タイムモジュールpythonと時間関連モジュールは2つあります:time、datetime タイムスタンプとは、現在の時間から1970年1月1日0時0分0秒(グリニッジ時間を指す)までの時間差(単位時間秒)の利点を指す:1)文字列保存時間を使用するメモリよりもタイムスタンプ保存時間が少ない;2)タイムスタンプによる暗号化が簡単 time()-現在の時刻を取得し、タイムスタンプ を返します.localtime()-現在のローカル時間を取得し、構造体時間localtime(タイムスタンプ)を返します-時間をローカルの構造体時間に変換 構造体時間を文字列時間strftime(時間フォーマット文字列、構造体時間) に変換
datetime
hash要約
hashlibはpythonが独自にhash暗号化を提供するモジュールですhash暗号化の特徴: 同じデータを同じ暗号化アルゴリズムで得た結果は同じである(暗号化後の結果を暗号文または要約と呼ぶ) 暗号化後の結果不可逆 異なるサイズのデータが同じアルゴリズムによって生成される要約の長さは同じ 適用シーン データ不可逆の暗号化を作成 データの整合性の検証と修正の有無 概要の生成方法 暗号化アルゴリズムに基づいてhashオブジェクト を作成暗号化オブジェクトhashオブジェクトを決定する.update(データ)データ-bytesオブジェクト でなければならない生成要約(暗号文生成)hashオブジェクト.hexdigest() 生成ピクチャサマリ テキストファイルの概要を生成 (補足)文字列とバイナリ間の相互変換 文字列変換バイナリ符号化a.bytes(文字列、encoding=‘utf-8’) バイナリ変換文字列-復号a.str(バイナリ、encoding=‘utf-8’)b.バイナリ.decode()
その他のモジュール
cmathは複素数に数学的機能を提供するモジュールである.
jsonデータjson jsonとはデータフォーマットです.1つのjsonには1つのデータしかありません.この唯一のデータはjsonがサポートするデータ型のデータ でなければならない.jsonがサポートするデータ型 数字のタイプ:すべての数字を含んで、整数、浮動小数点数、正数、負数を含んで...表す時直接書いて、科学の計数法 を支持します文字列:二重引用符で囲まれたテキストデータ(二重引用符のみ)は、エスケープ文字をサポートします.-“abc”, ‘abc123’, “\u4e00abc” ブール:tureとfalseの2つの値しかなく、表示するときは直接 と書きます.配列:リストに相当し、[要素1,要素2,要素3,...] 辞書:pythonに相当する辞書,{キー1:値1,キー2:値2,キー3:値3,...}キーは文字列 Null jsonデータ転送python数字–整数、浮動小数点文字列–文字列ブール–ブール:true->True;false->False配列-リスト辞書-辞書null-None json.loads(jsonデータ)-jsonデータとはjison形式の文字列を指す(文字列が引用符を引いた後、それ自体が合法的なjsonデータである)
「abc」-json形式の文字列ではありません
'「abc」-json形式文字列
「123」–json形式の文字列ですpythonデータはjsonint、float->ディジタルブール->True:True->true、False->false文字列->文字列に回転し、引用符は二重引用符リスト、メタグループ->配列辞書->辞書None->null json.dumps(pythonデータ)-pythonデータをjson形式の文字列120->120'‘abc’->abc'[abc',120,True]に変換する -> ‘[“abc”, 120, true]’
"""
%Y -
%m -
%d -
%H - (24 )
%I - (12 )
%M -
%S -
%a - ( )
%A - ( )
%w - ( )
%b - ( )
%B - ( )
%p - (AM/PM)
"""
datetime
from datetime import time, date, datetime, timedelta
# time -
# date -
# datetime -
t1 = date.today()
print(t1, t1.year, t1.month, t1.day) # 2020-12-26 2020 12 26
t2 = datetime.now()
print(t2) # 2020-12-26 17:50:13.300294
t3 = datetime(2020, 12, 31, 23, 59, 10)
print(t3) # 2020-12-31 23:59:10
print(t3 + timedelta(seconds=40)) # 2020-12-31 23:59:50
print(t3 + timedelta(days=1)) # 2021-01-01 23:59:10
hash要約
hashlibはpythonが独自にhash暗号化を提供するモジュールです
hash = hashlib.md5() # hash : md5、sha
hash.update(bytes('123456', encoding='utf-8'))
result = hash.hexdigest()
print(result) # e10adc3949ba59abbe56e057f20f883e
hash = hashlib.md5()
with open(' ', 'rb') as f:
hash.update(f.read())
print(hash.hexdigest())
hash = hashlib.md5()
with open('01- .py', 'rb') as f:
hash.update(f.read())
print(hash.hexdigest()) # 584e96244fb3de4e51233ee5306f37d0
str1 = 'hello world!'
b1 = bytes(str1, encoding='utf-8')
print(type(b1)) #
b.文字列.encode()b2 = str1.encode()
print(type(b2)) #
s1 = str(b1, encoding='utf-8')
print(s1, type(s1)) # hello world!
s2 = b1.decode()
print(s2, type(s2)) # hello world!
その他のモジュール
cmathは複素数に数学的機能を提供するモジュールである.
import math, cmath, os
print(math.ceil(1.2)) # 2 -
print(math.floor(1.2)) # 1 -
jsonデータ
「abc」-json形式の文字列ではありません
'「abc」-json形式文字列
「123」–json形式の文字列です
result = json.loads('"abc"')
print(result, type(result)) # 'abc'
result = json.loads('123')
print(result, type(result)) # 123
result = json.loads('true')
print(result, type(result)) # True
result = json.loads('["hello", 123, null, false]')
print(result, type(result)) # ['hello', 123, None, False]
result = json.loads('{"name":" ", "age":18}')
print(result, type(result)) # {'name': ' ', 'age': 18}
result = json.dumps(120)
print(result, type(result)) # '120'
result = json.dumps('abc')
print(result, type(result)) # '"abc"'
result = json.dumps([120, False, None, 'hello'])
print(result, type(result)) # '[120, false, null, "hello"]'
result = json.dumps({
'name':' ', 10:100})
print(result) # '{"name": "\u5f20\u4e09", "10": 100}'