首页
关于
统计
我的追番
在线留言
友链申请
开往
打赏
投稿
推荐
打赏博主
公益网盘
阿浩图床
Search
1
2000个steam游戏 STEAM账号 离线账号分享
1,683 阅读
2
记录解决Nginx配置"nginx/conf/nginx.conf test failed"问题过程
580 阅读
3
JOE主题自定义网站字体
111 阅读
4
抖音短视频 for Android v20.9.0 去除广告视频无水印版
91 阅读
5
实时更新:新型冠状病毒肺炎疫情地图
62 阅读
落子无悔
值得一看
网站优化
干货教程
商家推荐
精品仓库
精品源码
电脑软件
安卓应用
谈码风云
python
Java
其他
登录
/
注册
Search
标签搜索
tj
typecho
阿浩
累计撰写
41
篇文章
累计收到
58
条评论
首页
栏目
落子无悔
值得一看
网站优化
干货教程
商家推荐
精品仓库
精品源码
电脑软件
安卓应用
谈码风云
python
Java
其他
页面
关于
统计
我的追番
在线留言
友链申请
推荐
打赏博主
公益网盘
阿浩图床
用户登录
登录
注册
搜索到
1
篇与
的结果
2022-06-12
干货合集│最好用的 python 库都在这
一、分词 - jieba 优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果import jieba word = '伟大的中华人民共和国' jieba.cut(word) jieba.lcut(word)二、词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出import jieba import numpy as np import PIL.Image as Image from wordcloud import WordCloud def run(word_path, picture_path): with open(word_path, 'r') as f: word = f.read() cut_word = ' '.join(jieba.cut(word)) color_mask = np.array(Image.open(picture_path)) word_cloud = WordCloud( # 设置字体,不指定就会出现乱码 font_path='/System/Library/Fonts/PingFang.ttc', # 设置背景色 background_color='white', # 词云形状 mask=color_mask, # 允许最大词汇 max_words=120, # 最大号字体 max_font_size=2000 ).generate(cut_word) word_cloud.to_file('word_cloud.jpg') im = word_cloud.to_image() im.show() 三、可视化进度条 - tpdm好看的进度条,不仅会让人一眼就知道任务的进度,还能够让自己的心情愉悦from time import sleep from tqdm import tqdm # 这里同样的,tqdm就是这个进度条最常用的一个方法 # 里面存一个可迭代对象 for i in tqdm(range(1, 500)): # 模拟你的任务 sleep(0.01) sleep(0.5)四、优美的表格 - PrettyTable可以让你在命令行打印出优美的表格import prettytable as pt # 按行添加数据 tb = pt.PrettyTable() tb.field_names = ['name', 'age', 'height', 'weight'] tb.add_row(['阿浩', 25, 174, 65]) tb.add_row(['程序员', 23, 164, 55]) tb.add_row(['程序员阿浩', 27, 184, 69.5]) print(tb) # +-----------+-----+--------+--------+ # | name | age | height | weight | # +-----------+-----+--------+--------+ # | 阿浩 | 25 | 174 | 65 | # | 程序员 | 23 | 164 | 55 | # | 程序员阿浩 | 27 | 184 | 69.5 | # +-----------+-----+--------+--------+五、多进程 - multiprocessing创建多进程from multiprocessing import Process def func(s): print(s) if __name__ == '__main__': process = [ Process(target=func, args=('1', )) Process(target=func, args=('2', )) ] [p.start() for p in process] [p.join() for p in process]六、多线程 - threading创建多线程import threading def func(s): print(s) if __name__ == '__main__': thread = [ threading.Thread(target=func, args=('1', )) threading.Thread(target=func, args=('2', )) ] [t.start() for t in thread] [t.join() for t in thread] 七、谷歌翻译 - googletrans自动语言检测,批量翻译,语言检测等from googletrans import Translator translator = Translator() # 未提供源语言以及翻译的最终语言,会自动翻译成英文 translator.translate('안녕하세요.') # 告诉它翻译成什么语言 translator.translate('안녕하세요.', dest='ja') # 告诉它源语言是什么 translator.translate('程序员阿浩', src='zh-cn') # 语言检测 t = ttranslator.detect('이 문장은 한글로 쓰여졌습니다.') t.lang 八、重复回调 - retrying如果请求失败,我们需要再重新进行进行请求,防止请求异常导致数据缺失from retrying import retry @retry(stop_max_attempt_number=5) def say(): try: cxyliangzai except Exception as e: # 可以将错误记录日志 print(e) raise say() 九、游戏开发 - pygame实现 python 游戏的开发,可以开发各种大小型游戏import pygame, sys from pygame.locals import * # 初始化pygame pygame.init() # 设置窗口的大小,单位为像素 screen = pygame.display.set_mode((500,400), 0, 32) # 设置窗口的标题 pygame.display.set_caption('用户事件监控') # 设置背景 screen.fill((255, 255, 255)) # 程序主循环 while True: # 获取事件 for event in pygame.event.get(): # 判断事件是否为退出事件 if event.type == QUIT: # 退出pygame pygame.quit() # 退出系统 sys.exit() # 获得键盘按下的事件 if event.type == KEYDOWN: if(event.key==K_UP or event.key==K_w): print("上") if(event.key==K_DOWN or event.key==K_s): print("下") if(event.key==K_LEFT or event.key==K_a): print("左") if(event.key==K_RIGHT or event.key==K_d): print("右") # 按下键盘的Esc键退出 if(event.key==K_ESCAPE): # 退出pygame pygame.quit() # 退出系统 sys.exit() # 获得鼠标当前的位置 if event.type ==MOUSEMOTION: print(event.pos) # 获得鼠标按下的位置 if event.type ==MOUSEBUTTONDOWN: print("鼠标按下:", event.pos) # 获得鼠标抬起的位置 if event.type ==MOUSEBUTTONUP: print("鼠标抬起:", event.pos) # 绘制屏幕内容 pygame.display.update() 十、绘图教程 - turtle可以画出各种各样奇妙的图案,简直就是程序中的画板from turtle import * colors = ['red', 'purple', 'blue', 'green', 'yellow', 'orange'] for x in range(360): pencolor(colors[x % 6]) width(x / 100 + 1) forward(x) left(59) 十一、数据分析 - pandas数据分析处理库,为解决数据分析任务而创建的,能够快速便捷地处理数据的函数和方法import pandas as pd info = pd.read_csv("students.csv", encoding = "utf-8") # 查看数据框的一些属性:最大、最小、均值、四分位数等 info.describe() # 空值相关的操作 pin = info["pin"] pin_isnull = pd.isnull(pin) pin_isnull_list = info[pin_isnull] len(pin_isnull_list) # 缺失值相关操作, 简单的处理办法就是过滤掉null值 books = info["life_cycle_books"] book_isnull = pd.isnull(books) book_list_isnull = info["life_cycle_books"][book_isnull == False] mean = sum(book_list_isnull) / len(book_list_isnull) # 删除缺失值, 所有行 na_info = info.dropna(axis = 1) # 删除缺失值, 可以指定列 na_info = info.dropna(axis = 0, subset = ["age", "name"]) 十二、算法加密 - pycrytopycryto 能实现大致 3 种类型的数据加密(单向加密、对称加密 和非对称加密),产生随机数,生成密钥对,数字签名from Crypto.Hash import SHA256 hash = SHA256.new() hash.update('Hello, World!') # 使用digest()方法加密 digest = hash.digest() # 使用hexdigest()方法加密,该方法加密后是16进制的 hexdigest = hash.hexdigest() print(digest, hexdigest) 十三、操作 win 电脑 - pywin32-pywin32 包装了 Windows 系统的 Win32 API,能创建和使用 COM 对象和图形窗口界面import win32api import win32con hid = win32gui.WindowFromPoint((100, 100)) # 获取窗口标题 title = win32gui.GetWindowText(hid) # 获取窗口类名 class_name = win32gui.GetClassName(hid) # 模拟鼠标在(400, 500)位置进行点击操作 point = (400, 500) win32api.SetCursorPos(point) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0) 十四、自动程序测试 - Selenium-Selenium 是一个用于 Web 应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 初始化谷歌浏览器 driver = webdriver.Chrome() # 最大化窗口 driver.maximize_window() # 打开头条登陆网址 driver.get('https://sso.toutiao.com') # 等待某个元素是否出现 WebDriverWait(self.driver, 10).until( EC.text_to_be_present_in_element((By.XPATH, '//*[@id="mobile-code-get"]/span'), u'发送') ) # 实例化鼠标操作 action = ActionChains(self.driver) # 按住滑块 action.click_and_hold(self.driver.find_element_by_xpath('//*[@id="captcha_container"]')).perform() # 将滑块移动x的距离 action.move_by_offset(xoffset=x, yoffset=0).perform() # 释放滑块 action.release().perform() 十五、音频播放 - mp3play-一款超级小型的音频操作库,可以实现播放音乐,按空格键实现暂停和播放的切换import mp3play clip = mp3play.load('music.mp3') clip.play() 十六、网页解析 - BeautifulSoup-是一个网页解析库,能够快速的分析网页结构from bs4 import BeautifulSoup soup = BeautifulSoup('<p class="name nickname user"><b>i am cxyliangzai</b></p>', 'html.parser') #获取整个p标签的html代码 print(soup.p) #获取b标签 print(soup.p.b) #获取p标签内容,使用NavigableString类中的string、text、get_text() print(soup.p.text) #返回一个字典,里面是多有属性和值 print(soup.p.attrs) #查看返回的数据类型 print(type(soup.p)) #根据属性,获取标签的属性值,返回值为列表 print(soup.p['class']) #给class属性赋值,此时属性值由列表转换为字符串 soup.p['class']=['Web','Site'] print(soup.p) 十七、日志处理 - logging打印和记录日志import logging logging.basicConfig(filename='logging.text', level=logging.DEBUG) logging.debug('It is a debug') logging.info('It is a info') logging.warning('It is a warning') 十八、图像处理 - PIL非常适合于图像归档以及图像的批处理任务。可以使用 PIL 创建缩略图,转换图像格式,打印图像等等from PIL import Image im = Image.open("picture.jpg") new_im = im.convert('L') print(new_im.mode) new_im.show() 十九、发送邮件 - yagmail是一种非常简单用来实现自动发邮件功能的包,可以实现给单人或者多人同时发送邮件import yagmail # 链接邮箱服务器 yag = yagmail.SMTP( user='邮箱地址', password='登录密码', host='smtp.163.com') # 邮箱正文 contents = ['邮件第一行内容', '邮件第二行内容', '邮件第三行内容'] # 给用户发送邮件并添加多个附件 yag.send(['目标邮箱地址1', '目标邮箱地址2', '目标邮箱地址3'], '邮件标题', contents, ['c://附件.pdf', 'c://picture.jpg']) 二十、源码打包 - pyinstaller将源码打包成exe文件,直接在window上运行pyinstaller -F -w -p ./lib -i logo.ico main.py 本文转载自博客园-程序员亮仔的博客:https://www.cnblogs.com/cxyliangzai/p/16360794.html
2022年06月12日
44 阅读
0 评论
0 点赞