作者 | 小F

来源 | 法纳斯特

在日常的工作中,我们总会面临到各式各样的问题。

其中不少的问题,使用一些简单的Python代码就能解决。

比如不久前的复旦大佬,用130行Python代码硬核搞定核酸统计,大大提升了效率,节省了不少时间。

今天,小F就带大家学习一下10个Python脚本程序。

虽然简单,不过还是蛮有用的。

有兴趣的可以自己去实现,找到对自己有帮助的技巧。

▍1、Jpg转Png

图片格式转换,以前小F可能第一时间想到的是【格式工厂】这个软件。

如今编写一个Python脚本就能完成各种图片格式的转换,此处以jpg转成png为例。

有两种解决方法,都分享给大家。

# 图片格式转换, Jpg转Png# 方法①
from PIL import Imageimg = Image.open('test.jpg')
img.save('test1.png')# 方法②
from cv2 import imread, imwriteimage = imread("test.jpg", 1)
imwrite("test2.png", image)

▍2、PDF加密和解密

如果你有100个或更多的PDF文件需要加密,手动进行加密肯定是不可行的,极其浪费时间。

使用Python的pikepdf模块,即可对文件进行加密,写一个循环就能进行批量加密文档。

# PDF加密
import pikepdfpdf = pikepdf.open("test.pdf")
pdf.save('encrypt.pdf', encryption=pikepdf.Encryption(owner="your_password", user="your_password", R=4))
pdf.close()

有加密那么便会有解密,代码如下。

# PDF解密
import pikepdfpdf = pikepdf.open("encrypt.pdf",  password='your_password')
pdf.save("decrypt.pdf")
pdf.close()

▍3、获取电脑的配置信息

很多小伙伴可能会使用鲁大师来看自己的电脑配置,这样还需要下载一个软件。

使用Python的WMI模块,便可以轻松查看你的电脑信息。

# 获取计算机信息
import wmidef System_spec():Pc = wmi.WMI()os_info = Pc.Win32_OperatingSystem()[0]processor = Pc.Win32_Processor()[0]Gpu = Pc.Win32_VideoController()[0]os_name = os_info.Name.encode('utf-8').split(b'|')[0]ram = float(os_info.TotalVisibleMemorySize) / 1048576print(f'操作系统: {os_name}')print(f'CPU: {processor.Name}')print(f'内存: {ram} GB')print(f'显卡: {Gpu.Name}')print("\n计算机信息如上 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑")System_spec()

就以我的电脑为例,运行代码就能看到配置。

▍4、解压文件

使用zipfile模块进行文件解压,同理也可以对文件进行压缩。

# 解压文件
from zipfile import ZipFileunzip = ZipFile("file.zip", "r")
unzip.extractall("output Folder")

▍5、Excel工作表合并

帮助你将Excel工作表合并到一张表上,表内容如下图。

6张表,其余表的内容和第一张表都一样。

设置表格数量为5,将会合并前5张表的内容。

import pandas as pd# 文件名
filename = "test.xlsx"
# 表格数量
T_sheets = 5df = []
for i in range(1, T_sheets+1):sheet_data = pd.read_excel(filename, sheet_name=i, header=None)df.append(sheet_data)# 合并表格
output = "merged.xlsx"
df = pd.concat(df)
df.to_excel(output)

结果如下。

▍6、将图像转换为素描图

和之前的图片格式转换有点类似,就是对图像进行处理。

以前大家可能会使用到美图秀秀,现在可能就是抖音的滤镜了。

其实使用Python的OpenCV,就能够快速实现很多你想要的效果。

# 图像转换
import cv2# 读取图片
img = cv2.imread("img.jpg")
# 灰度
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
invert = cv2.bitwise_not(grey)
# 高斯滤波
blur_img = cv2.GaussianBlur(invert, (7, 7), 0)
inverse_blur = cv2.bitwise_not(blur_img)
sketch_img = cv2.divide(grey, inverse_blur, scale=256.0)
# 保存
cv2.imwrite('sketch.jpg', sketch_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

原图如下。

素描图如下,还挺好看的。

▍7、获取CPU温度

有了这个Python脚本,你将不需要任何软件来了解CPU的温度。

# 获取CPU温度
from time import sleep
from pyspectator.processor import Cpu
cpu = Cpu(monitoring_latency=1)
with cpu:while True:print(f'Temp: {cpu.temperature} °C')sleep(2)

▍8、提取PDF表格

有的时候,我们需要从PDF中提取表格数据。

第一时间你可能会先想到手工整理,但是当工作量特别大,手工可能就比较费劲。

然后你可能会想到一些软件和网络工具来提取 PDF 表格。

下面这个简单的脚本将帮助你在一秒钟内完成相同的操作。

# 方法①
import camelottables = camelot.read_pdf("tables.pdf")
print(tables)
tables.export("extracted.csv", f="csv", compress=True)# 方法②, 需要安装Java8
import tabulatabula.read_pdf("tables.pdf", pages="all")
tabula.convert_into("table.pdf", "output.csv", output_format="csv", pages="all")

PDF文档的内容如下,包含了一个表格。

提取到的CSV文件内容如下。

▍9、截图

该脚本将简单地截取屏幕截图,而无需使用任何屏幕截图软件。

在下面的代码中,给大家展示了两种Python截取屏幕截图的方法。

# 方法①
from mss import mss
with mss() as screenshot:screenshot.shot(output='scr.png')# 方法②
import PIL.ImageGrab
scr = PIL.ImageGrab.grab()
scr.save("scr.png")

▍10、拼写检查器

这个Python脚本可以进行拼写检查,当然只对英文有效,毕竟中文博大精深呐。

# 拼写检查
# 方法①
import textblobtext = "mussage"
print("original text: " + str(text))checked = textblob.TextBlob(text)
print("corrected text: " + str(checked.correct()))# 方法②
import autocorrect
spell = autocorrect.Speller(lang='en')# 以英语为例
print(spell('cmputr'))
print(spell('watr'))
print(spell('survice'))

技术

强大的Gensim库用于NLP文本分析

资讯

何同学又上热搜了,这次为什么?

技术

手把手教你用Python绘制桑葚图!

技术

用Python打造一个语音合成系统

分享

点收藏

点点赞

点在看

10个有趣的 Python 高级脚本,建议收藏!相关推荐

  1. 10个有趣的Python高级脚本,建议收藏 ~

     ▍1. Jpg 转Png 图片格式转换,以前小F可能第一时间想到的是[格式工厂]这个软件. 如今编写一个Python脚本就能完成各种图片格式的转换 , 此处 以jpg转成png为例. 有两种解决方法 ...

  2. 10个有趣的Python高级脚本,建议收藏!

    大家好,我是小F. 在日常的工作中,我们总会面临到各式各样的问题. 其中不少的问题,使用一些简单的Python代码就能解决. 比如不久前的复旦大佬,用130行Python代码硬核搞定核酸统计,大大提升 ...

  3. 13个有趣的Python高级脚本,建议收藏

    上一篇文章:整理了上千个 Python 工具库,涵盖24个大方向 没想到火了,喜欢除了收藏外,记得点赞. 每天我们都会面临许多需要高级编码的编程挑战.你不能用简单的 Python 基本语法来解决这些问 ...

  4. python小项目推荐项目-推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  5. python项目-推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  6. 推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  7. 有趣的python项目 国外_推荐 10 个有趣的Python练手项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  8. python 适合做什么生意好_推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  9. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

最新文章

  1. 【机器学习】使用奇异值分解(SVD)构建推荐系统
  2. 平滑重启更新(GR机制)
  3. 什么是javax.ws.rs.core.context? [ 第2部分 ]
  4. 【移植Linux 3.4.2内核第一步】之简单修改
  5. 语言列表导出xlxs_学习五分钟,掌握一种新语言。
  6. 为什么能上QQ而不能上网
  7. Android Dialog的简单说明
  8. navicat11全系列破解教程
  9. draft.js编辑器开发笔记
  10. 200 OK(from memory cache)和 200 OK(from disk cache)
  11. svn问号图标解决方案
  12. 淘宝测试开发实习总结
  13. C++语言风格流变史(转)
  14. 3000亿茶行业市场如何乘势数字浪潮,跑出世界品牌
  15. 不能打开淘宝单个商品页面
  16. Vue CLI 3.x 与 2.x的区别
  17. 你应该了解的 MySQL 细节
  18. 内部存储空间不足_手机内部存储空间不足怎么清理
  19. 分享:Android 实验
  20. 【C/C++开发】c++ 工具库 (zz)

热门文章

  1. 八名新人杀入十大最牛散户榜 刘元生卫冕
  2. Android 直播 聊天输入法弹出 视频不挤压 解决方案
  3. Elasticsearch 8.0报错:received plaintext http traffic on an https channel, closing connection
  4. java 计算 两个日期 相差多少天
  5. android仿百度外卖波浪_头像随波浪漂浮效果—仿Android百度外卖
  6. 如何理解 Elasticsearch 中的 Indices、Types、Documents、Fields
  7. 巨人的崛起 Android操作系统发展历程
  8. java 日志打印规范
  9. JavaScript Knockout.js
  10. Android系统的问题分析笔记(4) - Android设备硬件基础