文章目录

  • 一.引入
  • 二.列举
    • 2.1清洗字符串
    • 2.2字节格式化
    • 2.3UA随机生成
    • 2.4停用词
    • 2.5正则匹配汉字
    • 2.6输出彩色字体
    • 2.7判断关键字是否在文本中出现
    • 2.8谷歌翻译语言表
    • 2.9Tkinert函数中引入外部图片
    • 2.10Tkinert窗口居中
    • 2.11时间戳转日期时间
    • 2.12 B站AV号转BV号
    • 2.13 获取当前所属星期
    • 2.14 PyQT5 安装WebEngine
    • 2.15 解决最新Pyecharts无Map
    • 2.16 图片硬编码
    • 2.17 py2与py3 pycharm正则快速替换
    • 2.18 快速提取url中的参数
    • 2.19 分块下载文件
  • 三.总结

一.引入

本篇用于记录我在Python中常用的函数。

二.列举

2.1清洗字符串

用于清理字符串中的特殊字符,可用于文件命名。

def clean_txt(str): rstr = r"[\/\\\:\*\?\"\<\>\|]" str = re.sub(rstr, "_", str) return str

2.2字节格式化

将字节格式化为kb、mb、gb,可用于文件大小转换。

def format_size(self,bytes):try:bytes=float(bytes)kb=bytes/1024if kb>1024:mb=kb/1024if mb>1024:gb=mb/1024return '%.2fGB'%gbelse:return '%.2fMB'%mbelse:return '%.2fKB'%kbexcept:return 'error'

2.3UA随机生成

多用于爬虫。

def get_ua(self):first_num = random.randint(55, 62)third_num = random.randint(0, 3200)fourth_num = random.randint(0, 140)os_type = ['(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)', '(X11; Linux x86_64)','(Macintosh; Intel Mac OS X 10_12_6)']chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num, fourth_num)ua = ' '.join(['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36','(KHTML, like Gecko)', chrome_version, 'Safari/537.36'])return ua

2.4停用词

用于去停用词处理。

1.自定义stopwords.txt

https://wwe.lanzoui.com/i24f9p49iab

2.snownlp_stopwords.txt

https://wwe.lanzoui.com/iLxyfp49kmf

3.pyhanlp_stopwords.txt

https://wwe.lanzoui.com/iYR2Bp49l7g

2.5正则匹配汉字

用于中文汉字的筛选。

def match_words(text):regex= r'[\u4e00-\u9fa5]+'words=re.findall(regex,text)return words

2.6输出彩色字体

print('\033[35;46m正常\033[0m')
print('\033[31;43m警告\033[0m')
print('\033[31;44m错误\033[0m')

效果

具体参考

https://www.cnblogs.com/wj-1314/p/7449812.html

2.7判断关键字是否在文本中出现

基于any()函数

keyword_list=['a','b','c',]
flag=any(True if keyword in text else False for keyword in keyword_list)

2.8谷歌翻译语言表

language_table={'auto': '自动选择', 'af': '南非荷兰语', 'sq': '阿尔巴尼亚语', 'am': '阿姆哈拉语', 'ar': '阿拉伯语', 'hy': '亚美尼亚语', 'az': '阿塞拜疆语', 'eu': '巴斯克语', 'be': '白俄罗斯语', 'bn': '孟加拉语', 'bs': '波斯尼亚语', 'bg': '保加利亚语', 'ca': '加泰罗尼亚语', 'ceb': '宿务语', 'zh': '中文(简体)', 'zh-TW': '中文(繁体)', 'co': '科西嘉语', 'hr': '克罗地亚语', 'cs': '捷克语', 'da': '丹麦语', 'nl': '荷兰语', 'en': '英语', 'eo': '世界语', 'et': '爱沙尼亚语', 'fi': '芬兰语', 'fr': '法语', 'fy': '弗里西语', 'gl': '加利西亚语', 'ka': '格鲁吉亚语', 'de': '德语', 'el': '希腊语', 'gu': '古吉拉特语', 'ht': '海地克里奥尔语', 'ha': '豪萨语', 'haw': '夏威夷语', 'he': '希伯来语', 'hi': '印地语', 'hmn': '苗语', 'hu': '匈牙利语', 'is': '冰岛语', 'ig': '伊博语', 'id': '印尼语', 'ga': '爱尔兰语', 'it': '意大利语', 'ja': '日语', 'jw': '爪哇语', 'kn': '卡纳达语', 'kk': '哈萨克语', 'km': '高棉语', 'ko': '韩语', 'ku': '库尔德语', 'ky': '吉尔吉斯语', 'lo': '老挝语', 'la': '拉丁语', 'lv': '拉脱维亚语', 'lt': '立陶宛语', 'lb': '卢森堡语', 'mk': '马其顿语', 'mg': '马尔加什语', 'ms': '马来语', 'ml': '马拉雅拉姆语', 'mt': '马耳他语', 'mi': '毛利语', 'mr': '马拉地语', 'mn': '蒙古语', 'my': '缅甸语', 'ne': '尼泊尔语', 'no': '挪威语', 'ny': '尼杨扎语(齐切瓦语)', 'ps': '普什图语', 'fa': '波斯语', 'pl': '波兰语', 'pt': '葡萄牙语', 'pa': '旁遮普语', 'ro': '罗马尼亚语', 'ru': '俄语', 'sm': '萨摩亚语', 'gd': '苏格兰盖尔语', 'sr': '塞尔维亚语', 'st': '塞索托语', 'sn': '修纳语', 'sd': '信德语', 'si': '僧伽罗语', 'sl': '斯洛文尼亚语', 'so': '索马里语', 'es': '西班牙语', 'su': '巽他语', 'sw': '斯瓦希里语', 'sv': '瑞典语', 'tl': '塔加洛语(菲律宾语)', 'tg': '塔吉克语', 'ta': '泰米尔语', 'te': '泰卢固语', 'th': '泰语', 'tr': '土耳其语', 'uk': '乌克兰语', 'ur': '乌尔都语', 'uz': '乌兹别克语', 'vi': '越南语', 'cy': '威尔士语', 'xh': '班图语', 'yi': '意第绪语', 'yo': '约鲁巴语', 'zu': '祖鲁语'}

2.9Tkinert函数中引入外部图片

基于面板(paned)组件

from tkinter import *
from tkinter import ttk
from PIL import ImageTk,Image
imgs=['Refresh.png']
class App:def __init__(self):self.w=Tk()self.paned = PanedWindow(self.w)self.img = imgsimg = Image.open(self.img[0])photo = img.resize((50, 25))self.paned.image = ImageTk.PhotoImage(photo)self.button = ttk.Button(self.w, image=self.paned.image)self.button.pack()self.w.mainloop()if __name__ == '__main__':App()

效果

2.10Tkinert窗口居中

from tkinter import *class App:def __init__(self):self.w=Tk()width=300height=400left=(self.w.winfo_screenwidth()-width)/2top=(self.w.winfo_screenheight()-height)/2self.w.geometry('%dx%d+%d+%d'%(width,height,left,top))self.w.mainloop()if __name__ == '__main__':App()

2.11时间戳转日期时间

def convert_to_datetime(timestamp):timeArray = time.localtime(timestamp)datetime= time.strftime("%Y-%m-%d %H:%M:%S", timeArray)return datetime

2.12 B站AV号转BV号

alphabet = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'def dec(x):#bv to avr = 0for i, v in enumerate([11, 10, 3, 8, 4, 6]):r += alphabet.find(x[v]) * 58**ireturn (r - 0x2_0840_07c0) ^ 0x0a93_b324def enc(x):#av to bvx = (x ^ 0x0a93_b324) + 0x2_0840_07c0r = list('BV1**4*1*7**')for v in [11, 10, 3, 8, 4, 6]:x, d = divmod(x, 58)r[v] = alphabet[d]return ''.join(r)

2.13 获取当前所属星期

    def show_date(self):"""展示日期信息,便于天气展示:return:"""date = str(datetime.date.today())year,month,day=date.split('-')week_day_dict = {0: '星期一',1: '星期二',2: '星期三',3: '星期四',4: '星期五',5: '星期六',6: '星期日 ',}now=datetime.datetime.now()date_index = now.weekday()date_time=f'{year}年{month}月{day}日 {week_day_dict[date_index]}'return date_time

2.14 PyQT5 安装WebEngine

pip install PyQtWebEngine

2.15 解决最新Pyecharts无Map

pip install pyecharts==0.5.1

2.16 图片硬编码

import base64
def img_to_base64(filename):with open(filename, 'rb') as open_icon:b64str = base64.b64encode(open_icon.read())return b64str

2.17 py2与py3 pycharm正则快速替换

find:print (.*?);?$
replace:print\($1\)

2.18 快速提取url中的参数

def extractParams(url):parsed = urlparse.urlparse(url)querys = urlparse.parse_qs(parsed.query)querys = {k: v[0] for k, v in querys.items()}return querys

2.19 分块下载文件

import requestslink="http://www.xxxx/com/video/123.mp4"
file_name="123.mp4"
rsp = requests.get(link, stream=True)
chunk = 2048  # 每次读取2M,分块读取
with open(file_name, 'wb') as f:for i in rsp.iter_content(chunk):f.write(i)

三.总结


2021年5月13日
1.清洗字符串函数
2.字节格式化函数
3.UA随机生成函数


2021年5月14日
1.停用词资源
2.正则匹配汉字函数


2021年5月19日
1.输出彩色字体
2.判断关键字是否在文本中出现
3.谷歌翻译语言表


2021年5月31日
1.Tkinert函数中引入外部图片
2.Tkinert窗口居中


2021年8月15日
1.时间戳转日期时间


2021年9月3日
1.B站AV号转BV号


2021年9月22日
1.获取当前所属星期


2021年10月19日
1.PyQT5 安装WebEngine


2021年11月04日
1.解决最新Pyecharts无Map


2021年11月29日
1.图片硬编码


2022年7月12日
1.py2与py3 pycharm正则快速替换


2022年8月16日
1.快速提取url中的参数


2022年8月18日
1.分块下载文件


Python3记录--个人常用函数及资源(持续更新)相关推荐

  1. C语言字符串常用函数总结(持续更新)

    最近在重温C语言的一些基础知识,感觉C语言字符串操作还是比较难的,在学习的过程中总结了一些常用的字符串相关函数,包括C语言字符串输入.字符串输入.计算字符串长度.字符串赋值.字符串分割.字符串拼接.字 ...

  2. C++常用函数汇总(持续更新)

    注:写这篇文章是为了平时学习积累噢!文中的内容都表明出处啦,我只写了大概,不如原博主写的好,大家见谅哈~ 目录 vector accumulate sort find vector 作用:它能够像容器 ...

  3. 稀里糊涂学-MySQL常用函数汇总(持续更新)

    ABS:求绝对值 SELECT ABS(5),ABS(-2.4),ABS(-24),ABS(0); SQRT:求二次方根  这个类似Java    math函数 SELECT SQRT(25),SQR ...

  4. Vertica的这些事(四)—— 关于vertica常用函数介绍(持续更新ing)

    取绝对值:select abs(-1); 向上取整:select ceil(-1.001); 向下取整:select floor(-1.001); 取整:select trunc(-1.002); 四 ...

  5. db2dual_DB2常用SQL的写法(持续更新中...)

    DB2常用SQL的写法(持续更新中...) -- Author: lavasoft -- Date  :  2006-12-14 -- 创建一个自定义单值类型 create  distinct typ ...

  6. psid mysql_DB2常用SQL的写法(持续更新中...)

    DB2常用SQL的写法(持续更新中...) -- Author: lavasoft -- Date  :  2006-12-14 -- 创建一个自定义单值类型 create  distinct typ ...

  7. 数据库常用操作,会持续更新

    数据库常用操作,会持续更新 1.DDL-数据库操作show databases; 查询所有数据库 create database 数据库名: 创建数据库 use 数据库名: 进入所选的数据库中 sel ...

  8. IDEA 快速返回上次查看代码的位置常用的IDEA快捷键(持续更新)

    IDEA 快速返回上次查看代码的位置常用的IDEA快捷键(持续更新) IDEA 快速返回上次查看代码的位置:快捷键是:ctrl+alt+方向键(<-往回) 更多精彩请访问本文源地址: https ...

  9. C 常用函数罗列(长期更新)

    C 常用函数罗列(长期更新) void *memset(void *Dst,int val,size_t size); 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化.

最新文章

  1. python动态语言解释_python是动态语言吗
  2. 产品问答 | PM最应该花时间做这件事……
  3. pt-table-sync常用参考
  4. MFC绘图的几种方法
  5. 【AtCoder】ARC095 E - Symmetric Grid 模拟
  6. android os跑电量咋关,android 优化耗电量
  7. linux SIGHUP
  8. linux 虚拟机设置静态ip
  9. Jetty报ArrayIndexOutBoundsException:30305的解决方案
  10. 成功解决不能完成“视频帧到图层”的命令,因为需要QuickTime7.1或者更高版本
  11. 华芯微特SWM181学习笔记--GPIO应用与环境搭建
  12. org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing
  13. 人脸识别被滥用,三人成虎不足挂齿?
  14. 利用随机森林对特征重要性进行评估 方法一
  15. 谷歌金山词霸和金山词霸2007性能比较
  16. 揭秘PLC(四)RTS之服务篇
  17. Mysql应用安装后找不到my.ini文件
  18. Harbor搭建私有仓库
  19. 百知教育浅谈亚马逊跨境电商
  20. C#深度优先遍历实现全排列

热门文章

  1. PHP实现周和月起止时间计算方法
  2. 教你解决M1芯片MAC安装PS2021卡在启动屏幕,完美解决PS21卡启动屏幕
  3. 打开用友总账时提示“该产品没有安装,无法使用”
  4. SAP UI5 应用在 Business Application Studio 里的构建单步分析
  5. 圭尔夫大学计算机科学硕士,圭尔夫大学到底有多高大上?你可能还不知道
  6. ps意外崩溃_最新—Mac软件意外退出/移到废纸篓的解决方案,亲测有效
  7. 3d slicer matlab,使用3D Slicer进行颅骨去除
  8. Windows 上使用 batch批处理获取时间并更改时间格式
  9. 红米max86怎么样 有什么优缺点
  10. Arduino DIY 电子自动浇花浇水系统