Python操作集锦

  |  

摘要: 本文整理 Python 中常见的操作和小功能,持续更新

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


调试

查看 import 进来的包的路径

1
2
import importlib
importlib.util.find_spec("cv2")
1
2
import cv2
cv2.__path__

计时

1
2
3
4
5
6
7
import time

tic = time.time()
time.sleep(5)
toc = time.time()
duration = toc - tic
print(duration)

文件

按操作时间顺序读取文件

1
2
3
4
5
6
7
8
9
def sort_file_by_time(file_path):
files = os.listdir(file_path)
if not files:
return
else:
files = sorted(files, key=lambda x: os.path.getmtime(os.path.join(file_path, x)))
return files

files = sort_file_by_time(path)

网络

url 编码解码

编码

1
2
3
4
import urllib.parse

url = "https://chengzhaoxi.oss-cn-beijing.aliyuncs.com/blog/NLP金融/ml.png"
print("解码结果: {}".format(urllib.parse.unquote(url)))

解码

1
2
3
4
import urllib.parse

url = "https://chengzhaoxi.oss-cn-beijing.aliyuncs.com/blog/NLP%E9%87%91%E8%9E%8D/ml.png"
print("解码结果: {}".format(urllib.parse.unquote(url)))

字符串 gzip 编码解码

输入原字符串,得 gzip 编码后的字符串;

输入 gzip 编码后的字符串,得原字符串。

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
import base64
import zlib

import requests
import ujson as json


def gzip_compress(s):
x = s.encode() # str 转换为 bytes
gzip_encoded = zlib.compress(x) # gzip 编码 (bytes -> bytes)
encoded = base64.b64encode(gzip_encoded) # Base64编码 (bytes -> bytes)
return encoded.decode() # (bytes -> str)

def gzip_decompress(s):
x = base64.b64decode(s) # Base64解码 (str -> bytes)
gzip_decoded = zlib.decompress(x) # gzip 解码 (bytes -> bytes)
return gzip_decoded.decode() # (bytes -> str)

def main():
url = "https://foresightnews.pro/v1/dayNews?date=20230228"
resp = requests.get(url)
record = json.loads(resp.content)
print("解码前:{}".format(record["data"]))
data = gzip_decompress(record["data"])
print("解码后:{}".format(data))

Share