File size: 930 Bytes
48d8f38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import re
import uuid
import time
import hashlib

def camel_to_snake(name):
    # 使用正则表达式匹配每个大写字母的前面(不包括首字符)
    # 并在其前面插入下划线
    s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
    # 再次使用正则表达式匹配单词的首字母大写,并在其前面添加下划线
    return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()


def uuid_2_str():
    return str(uuid.uuid4())


def ttl_hash(minutes=60):
    """Return the same value withing `seconds` time period"""
    return round(time.time() / minutes / 60)

def sha256hex(path):
    with open(path, "rb") as f:
        data = f.read()
        return hashlib.sha256(data).hexdigest()



__all__ = ["camel_to_snake", "uuid_2_str", "ttl_hash"]


if __name__ == "__main__":
    print(0)
    print(camel_to_snake("DataFile"))
    print(uuid_2_str())
    print(uuid.uuid4().hex)
    print(ttl_hash())