系统环境Windows 11,在研究Python抓包的数据保存时出现的问题
这是我的源码:
import requests
from pathlib import Path
import json
import datetime
url = "https://api.bilibili.com/x/web-interface/ranking/v2?type=all"
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
}
response = requests.get(url, headers=headers).json()
path = Path(f"./{datetime.datetime.now().strftime('%Y-%m-%d %H:%M')}.json")
path.write_text(json.dumps(response, ensure_ascii=False, indent=4),
encoding="utf-8")
我的问题是:
当我的本机日期为2024/7/26 19:29时,程序应保存文件名为2024-7-26 19:29.json的json文件,但是他却保存出了2024-07-26 19的文件,且内容为空,但是如果我将path这样写的话:
path = Path(f"./{datetime.datetime.now().strftime('%Y-%m-%d %H-%M')}.json")
程序却可以按照我的预期将保存出2024-7-26 19-29.json的文件并且保存了正确的抓包数据。
如图:
我的猜想是:
会不会影响Path模块对文件路径的读取,不知道是被转义了还是什么,而且:
后面的内容会被一并忽略。即2024-7-26 19:29.json
被程序读取成2024-07-26 19
。又因为2024-7-26 19-29.json
不好看,所以才纠结这个问题。希望大家能够帮我解决这个问题,如有不清楚的再问。