python基础知识2
模块在被导入的时候。会申请一块独立的内存,运行被导入的模块
多次导入不浪费内存空间
配置默认镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
python内置模块
import time
time.time()
从1970年1月1日0点0分0秒到现在一共多少秒
import datetime
datetime.datetime.now()
datetime.datetime.now().strftime("")
import random
随机数
random.randint(10,20)
从指定几个里面随机抽取几个
random.sample([1,23,4,45,6],2)
import uuid
str(uuid.uuid4())
3a2e303e-f3a4-413e-833b-53ea704dc535
import os
如果AB存在,创建C
os.mkdir("A/B/C")
如果AB不存在,同时创建ABC
os.makedirs("A/B/C")
判断文件或者文件夹是否存在
os.path.exists("A/B/C")
判断是不是文件
os.path.isfile("A/B/C")
判断是不是文件夹
os.path.isdir("A/B/C")
获取文件夹名字
path = "A/B/C.txt"
os.path.dirname(path)
创建文件的正确做法
path = "A/B/C.txt"
dirname,filename = os.path.split(path)
得到
dirname =A/B
filename = C.txt
open(path,mode="w",encoding="utf-8").close()
执行黑窗口命令
accept = os.popen("dir")
json
在浏览器console 解析json
mm = {"name":"xiaozhang","age":15}
mm.name
使用json模块 是因为从前端拿到的是json字符串,需要变成字典
s = '{"name":"xiaozhang","age":15}'
可以把字符串转化成字典或者列表
dic1 = json.loads(s)
也可以把字典转化成字符串()
str = json.dumps(dic1)
dumps转化的字符串里面会有空格,如何处理
str = json.dumps(dic1 separators(',','😂)
separators 相当于自定义分隔符 第一个参数是键值对之间的分隔符,第二个参数是键和值之间的分隔符
将字典变成字符串时不用str强制转化
原因
json不允许出现单引号
python中的True,Null,但是前端里面的是true,null
所以处理json 就用json模块
异常处理
1.将错误信息写入文件
print(traceback.format_exc())
2.记录失败未爬取的url
日志处理
import logging
import traceback
f = open("url.txt", mode="w",encoding="utf-8")
logging.basicConfig(
filename="1.txt", # 日志保存的文件
format="%(asctime)s - %(name)s - %(levelname)s - %(module)s:%(message)s",
datefmt='%Y-%m-%d %H:%M:%S',
level=0 # level 以上的级别才会写入文件 一般我们只记录错误信息 所以填40
)
logging.critical("天塌了") # 50
logging.error("错了") # 40
logging.warning("被警告了") # 30
logging.info("通知一下") # 20
logging.debug("详细") # 10
list1 = ['url1', 'url2', 'url3']
for url in list1:
try:
a = "请求url"
print(1/0)
except Exception as e:
# 记录错误日志
logging.error(traceback.format_exc())
# 记录url
f.write(url)
f.write("\n")

浙公网安备 33010602011771号