python笔记

编程

python创建空的csv文件

    df1 = pd.DataFrame()
    df1.to_csv('./示例文件.csv', encoding='utf-16', mode='w')

python自动化根据图象来识别,鼠标点击图像中的位置:

def locate_pic(useimg):
    location = pyautogui.locateCenterOnScreen(useimg)
    if location is not None:
        pyautogui.click(location.x, location.y, interval=0.2, duration=0.2)  # , button=lOrR


img1 = 'read.png'
time.sleep(1)
locate_pic(img1)
time.sleep(1)
locate_pic(img1)

其中img1需要自己截图,图片内容为想要自动化点击的按钮。sleep是等待网页加载。

lambda函数

lambda函数的基本语法:

lambda arguments: expression

  • lambda: 关键字表示开始定义一个 lambda 函数。
  • arguments: 参数列表,类似于函数定义中的参数。
  • expression: 表达式,是函数的返回值。

 Lambda 函数在定义时可以不带任何参数,其语法如下:

lambda: expression

这里举个易错例子:

list_2 = lambda: [df11['下标'][i] for i in list_1]
print(list_2)
res = list_2()
print(res)

第一个会输出

<function add_cuo_ti_ben.<locals>.<lambda> at 0x00000218200F6520>

第二个会正常输出列表,原因是,第一个是让输出函数名称,list_2在例子中定义为了匿名函数。

加个括号才是调用,才可输出返回的列表。

正则表达式

总结:

1、?:表示前面一个字符可有可无,见图 ?‑1

2、*代表(前一个字母)没有也可以出现多次,(前面那个字母只能出现0次或者无数次)

而+代表(前一个字母)出现一次以上,即上面ac能匹配,用了+后ac不能匹配出来

拓展:

ab{6}c表示指定需要b出现6次

ab{2,6}c表示指定需要b出现2到6次

ab{2,}c表示指定需要b出现2次以上

想要匹配多个字符(字母)可以将ab括起来选择+(出现1次以上)例如(ab)+就能匹配ababc和abc

实战例子:

3、或匹配符

       a (cat|dog) 能匹配a cat 和a dog   而a cat|dog 能匹配a cat 和dog

拓展:

       想匹配由abc构成的单词:用[abc]+即可,[a-zA-Z]+表示所有英文字符,[a-zA-Z0-9]+代表所有英文字符和数字,[^0-9]+表示所有非数字字符(包括换行符)

4、元字符:

\d数字字符,点”.”会匹配任意字符,除了换行符。

举例:^a会匹配absorb,a$会匹配tea

贪婪匹配的例子:

如<span><b>this is a sample text</b></sapn>

<.+>会匹配全部,即<span><b>this is a sample text</b></sapn>

<.+?>会匹配<span>、<b>、</b>、</sapn>

补充:

1、单次划分结束标志、边界

\b代表单词字符的边界

举例:#[a-fA-f0-9]{6}\b

如果没有\b最后一个很多f的那个也会匹配进来

2、对于点.需要用反斜杠转义才能表示点 即\.才能表示点,

深入拓展例子:正则表达式匹配ip地址

Import re

思路:先是找到所有的源码(也即全部的url),然后找到需要提取的部分,

用(.*?)代替需要提取的部分,即可

详细:

例二:(只有数字的时候可以用\d+)提取文件地址的时候还是用(.*?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值