按月归档: 9 月 2022

Bootstrap5 实例选项卡切换

Bootstrap5 实例选项卡切换

选项卡切换

HOME

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

python lxml 网页数据清洗

选择所有的h2下的文本

//h2/text()

获取所有的a标签的href

//a/@href

获取html下的head下的title的文本

/html/head/title/text()

获取html下的head下的link标签的href

/html/head/link/@href

python正则表达式 匹配不包含某几个字符的字符串方法 – 正则表达式 与或非

文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串

二、尝试过程

1)

自然想到正则表达式r'(https?://.*?.jpg|https?://.*?.png|https?://.*?.jpeg)简化书写为r'(https?://.*?\.(?:jpg|png|jpeg)

匹配结果:[‘http://sdsdsdadadsdsdsddsdsdawwii,https://sdsdoijcjz.jpg’]发现结果并非我们想要的,仔细查看,结果中出现了,或者”等符号,因此需要将这些字符去除

2)更改正则表达式为r'(https?://[^ “,]*?\.jpg|https?://[^ “,]*?\.png)’ 简化书写为r'(https?://[^, “]*?\.(?:jpg|png|jpeg))

匹配结果 : [https://sdsdoijcjz.jpg’]

Python datetime 日期时间差的计算(天/小时/分钟)及timedelta函数的使用(附python代码)

# 输入2个日期
date1 = “2022.05.11 13:30:00”
date2 = “2022.05.10 12:00:00”

# 将输入的日期转换为“datetime.datetime”类型
# 由于日期的类型是字符串,因此不能直接进行计算,会报错
date1 = datetime.strptime(date1, “%Y.%m.%d %H:%M:%S”)
date2 = datetime.strptime(date2, “%Y.%m.%d %H:%M:%S”)
print(” date1:”, date1, “\n” ,”date2:”, date2)
print(” 2个日期的类型分别是:\n”, type(date1), type(date2))

# 计算时间差:时间差的类型为“datetime.timedelta”类型
duration = date1 – date2
duration

由于计算的时间差需要精确到小时/分钟/秒等,因此需要将日期类型转换为“datetime.datetime类型”后进行计算。
运算得到的时间差值,其类型为“datetime.timedelta”,包括2部分:days: 多少天,seconds: 多少秒。
时间差值的提取:天数(days)= durations.days; 秒数(seconds)= durations.seconds,
可根据提取出来的秒数再换算为多少小时或多少分钟。

2.1 timedelta()函数的简介
timedelta()函数的构造:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
对参数设定具体的值,达到计算的要求,如:
设定:days=1 – 在原有时间上增加1天;
设定:minutes=-30 – 在原有时间上减少30分钟

2.2 timedelta()函数的使用
# 1. timedelta()的基本用法
dt1 = datetime(2022, 5, 12, 8, 30, 0)
dt2 = dt1 + timedelta(days = 1)
dt3 = dt1 + timedelta(minutes = -30)
print(“dt1:”, dt1)
print(“dt2:”, dt2)
print(“dt3:”, dt3)

python dict合并_Python 中两个字典(dict)合并

python 字典合并
dict1={1:[1,11,111],2:[2,22,222]}

dict2={3:[3,33,333],4:[4,44,444]}

合并两个字典得到类似

{1:[1,11,111],2:[2,22,222],3:[3,33,333],4:[4,44,444]}

方法1:

dictMerged1=dict(dict1.items()+dict2.items())

方法2:

dictMerged2=dict(dict1, **dict2)

方法2等同于:

dictMerged=dict1.copy()

dictMerged.update(dict2)

或者

dictMerged=dict(dict1)

dictMerged.update(dict2)

方法2比方法1速度快很多

正则表达式 PHP

这是一个正则表达式,可用于匹配所有英文字母数字字符、日文片假名、平假名、多字节字母数字(hankaku 和 zenkaku)和破折号:

常用正则表达式

^[0-9]*$ 数字
^\d{m,n}$ m-n位的数字
^[0-9]+(.[0-9]{2})?$ 有两位小数的正实数
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 浮点数
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 手机号码
/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ Email地址
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? 域名
[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ URL
^\d{15}|\d{18}$ 身份证号(15位、18位数字)
^\d{4}-\d{1,2}-\d{1,2} 日期格式
[\u4e00-\u9fa5] 中文字符的正则表达式
^[ァ-ヶー]{1,45}$日语的正则表达式
/x3130-/x318F (韩文
/xAC00-/xD7A3 (韩文)
[1-9][0-9]{4,} 腾讯QQ号
[1-9]\d{5}(?!\d) 中国邮政编码
^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]) .(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ IP地址
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$ xml文件
^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$正浮点数
密码必须包含:半角数字、大写英文,小写英文、标点符号这4类中至少3种: ^(?![0-9a-z]+$)(?![0-9A-Z]+$)(?![0-9!#\$%&=|\-\^@\[:\]\,\./\+\?]+$)(?![a-z!#\$%&=|\-\^@\[:\]\,\./\+\?]+$) (?![a-zA-Z]+$)(?![A-Z!#\$%&=|\-\^@\[:\]\,\./\+\?]+$)[a-zA-Z0-9!#\$%&=|\-\^@\[:\]\,\./\+\?]{8,16}$(特殊字符根据需要添加,个别字符需要转译)

/[一-龠]+|[ぁ-ゔ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+|[々〆〤]+/u

python和json字典保存为json体_python将字典内容写入json文件的实例代码

在python中使用json主要有四个方法(json故格式的数据使用的一定是双引号):
1、dumps()#将python对象转化为json字符串
import json
data={‘name’:’徐雨杰’,’age’:20}
f=json.dumps(data)
print(f)

结果:
{“name”: “\u5f90\u96e8\u6770”, “age”: 20}

2、loads()#将json字符串转化为python对象
import json
data={‘name’:’徐雨杰’,’age’:20}
f=json.dumps(data)
print(f)
f1=json.loads(f)
print(f1)

3、dump()#将python内置类型序列转化为json对象后写入文件
import json
data={‘name’:’徐雨杰’,’age’:20}
with open(“js.txt”,”w”) as f:
#可以直接命名为后缀值.json的文件
json.dump(data,f)
f.close()
运行该程序之后在当前目录下会有相应的文件

4、load()#读取文件中json形式的字符串元素转化为python类型
import json
with open(“js.json”,”r”) as f:
print(json.load(f))
f.close()

python将字典内容写入json文件的方法:我们可以先使用json.dumps()函数将字典转换为字符串;然后再将内容写入json即可。json.dumps()函数负责对数据进行编码。

字典内容写入json时,需要用json.dumps将字典转换为字符串,然后再写入。

json也支持格式,通过参数indent可以设置缩进,如果不设置的话,则保存下来会是一行。

无缩进
json_str = json.dumps(test_dict)

with open(‘test_data.json’, ‘w’) as json_file:

json_file.write(json_str)

有缩进版本
json_str = json.dumps(test_dict, indent=4)

with open(‘test_data.json’, ‘w’) as json_file:

json_file.write(json_str)

python os模块 文件夹 文件 查找 创建

os.path.exists():
os即operating system(操作系统),Python 的 os 模块封装了系统的文件和文件路径。
os.path模块主要用于文件的属性获取,exists是“存在”的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径。对于系统内的所有文件及其路径,都可以进行判断。
返回结果为:True或者False

os.path.join():
os.path.join(“父集”,“子集”)
返回的结果为:
父集\子集’
含义为把“子集”添加到“父集”路径之后。

os.makedirs():
os.makedirs(“子集”):
在当前路径下创建文件夹:子集
也可以写绝对路径:
os.makedirs(‘C:\Users\DELL\Desktop\子集)
在桌面创建名字为子集的文件夹。