Python日常办公10大小技巧

今天给大家介绍11个我们在日常办公中或许或用到的11个python第三方库,都是非常有用的,下面是目录。

1.生成二维码

2.快速定位截屏

3.鼠标移动点击(非常好用)

4.图片转文字(有两个拓展库)

5.发送邮件

6.文字转语音(电脑直接发出语音)

7.生成日历

8.快速生成词云图(基于wordcloud,算是优化改良版。操作简单,直接调用)

9.获取本机IP地址

10.googletrans(翻译)

11.Python伪信息生成器

1、生成二维码

(1-1) 简单版

import PIL,qrcode
from PIL import Image

qr = qrcode.make("https://www.baidu.com")
qr.show()

(1-2) 高级版

import PIL,qrcode
from PIL import Image

qr_img = qrcode.QRCode(
    version = 7,# 版本号(1-40)
    error_correction = 2,# 容错率等级
    box_size = 10, # 像素尺寸
    border = 4 # 边框宽度
    )
# qr_img.add_data("hello world")
qr_img.add_data("http://www.baidu.com")
qr_img.make(fit=True) # fit = True 指的是如果未指定版本号,系统将自动生成相对应的尺寸
img = qr_img.make_image()
img.show()
# img.save("D:\\随笔\\0000.png")

(1-3) 动态图为背景-二维码

from MyQR import myqr
import os
myqr.run(
    words = "hello", # 扫出的内容需自己定义
    version = 5,
    level = "H",
    picture = r"C:\mxcmaterials\aa.gif",# 背景动态图
    colorized = True,
    save_name = "my_qrcode.gif", # 保存的名字
    save_dir = "D:\\kun\\" # 保存的路径(不需要写文件名)
    )
os.system("D:\\my_qrcode.gif")

2、快速定位截屏

import autopy
a = autopy.bitmap.capture_screen(((0,0),(500,500))) # 注意三层括号,第一个左上角坐标,第二个右下角坐标,所形成的矩形,激素hi截图的区域
# capture_screen()函数,括号内如果为空,则是全凭截图。
a.save("haha.png")

3、鼠标移动点击(非常好用)

import pyautogui

pyautogui.position() # 当前鼠标的位置
pyautogui.size() # 当前屏幕分辨率
pyautogui.onScreen(x,y) # 判断坐标是否在屏幕内
pyautogui.moveTo(820,716) # 鼠标移动

# 鼠标拖动,dragTo()与drag()与moveTo()和move()类似,button决定按哪个键拖动
pyautogui.dragTo(x,y,button='left')#左键拖动

pyautogui.click()#当前位置单击
pyautogui.click(x=moveTox,y=moveToy,clicks=num_of_clicks,interval=secs_clicks,button='left')
#interval 单击之间等待的秒数
#doubleClick() 执行鼠标双击
#right/left/middle/Click() 右击/左击/中间单击
#mouseDown()/mouseUp() 鼠标按下/释放,可进行鼠标拖动

pyauotgui.scroll(10) #向上滚动10格
pyautogui.scroll(-10) #向下,,,
pyautogui.scrolll(10,x=10,y=100) # 将鼠标移到x,y,在向上滚动10格
# OS X和Linux平台上,可以通过和scroll()执行水平滚动

pyautogui.write('hello world',interval=0.25) # 在光标处输入 hello world 每个字间隔0.25s


# 键盘功能
#keyDown(),keyUp()
# press实现一个键按下与释放
pyautogui.press('enter') #按下并释放enter
pyautogui.press(['left','left','left'])
pyautogui.press('left',presses=3)
# 要在每次按下之间加延迟,interval int/float


# hold() 上下文管理器  键盘功能
with pyautogui.hold('shift'):
	pyautogui.press(['left','left','left'])
# 相当于先按住shift,再按三次left,再释放shift


4、图片转文字(有两个拓展库)

(1)Tesseract下载

文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别。Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别。但是在此之前我们需要完成一个繁琐的工作。
Tesseract的安装及配置
Tesseract的安装我们可以移步到该网址 https://digi.bib.uni-mannheim.de/tesseract/,我们可以看到如下界面:

Python日常办公10大小技巧_第1张图片

有很多版本供大家选择,大家可以根据自己的需求选择。其中w32表示32位系统,w64表示64位系统。安装时我们需要知道我们安装的位置,将安装目录配置到系统path变量当中,我们路径是D:\CodeField\Tesseract-OCR。

Python日常办公10大小技巧_第2张图片

我们右击我的电脑/此电脑->属性->高级系统设置->环境变量->Path->编辑->新建然后将我们的路径复制进去即可。添加好系统变量后后我们还需要依次点确定,这样才算配置好了。

(2)下载语言包

Tesseract默认是不支持中文的,如果想要识别中文或者其它语言需要下载相应的语言包,下载地址如下: https://tesseract-ocr.github.io/tessdoc/Data-Files ,进入网站后我们往下翻:

Python日常办公10大小技巧_第3张图片

其中有两个中文语言包,一个Chinese-Simplified和Chinese-Traditional,它们分别是简体中文和繁体中文,我们选择需要的下载即可。下载完成后我们需要将文件内chi_sim.traineddata放到Tesseract的路径下的tessdata目录下,我们路径是D:\CodeField\Tesseract-OCR\tessdata。可以直接选择下载链接:https://shimo.im/files/R13j8mZW7nSJonk5/ 「chi_sim.traineddata」,可复制链接后用石墨文档 App 打开
import os
import pytesseract
from PIL import Image
# 文字图片的路径
path = os.getcwd()+"\\image\\"
# 获取图片路径列表
path_list = os.listdir(path)

# 将各个图片的路径写入text.txt文件当中
for img in path_list:
    print(path + img)
    img = Image.open(path+img)
    string = pytesseract.image_to_string(img, lang='chi_sim')
    print(string)
    print("----------------------------------------------------------------")
    # print(path+img)

识别效果

Python日常办公10大小技巧_第4张图片

5、发送邮件

import yagmail
"""
1 yagmail 发送邮件的模块
2 发送邮件、邮件主题、发送的内容
3、发件人、发件人授权码、发件的服务器
    3.1 发件人:[email protected]
    3.2 发件人授权码:xxxxx (非密码)
    3.3 发件服务器:host = "smtp.163.com"
"""
smtp = yagmail.SMTP(user= "[email protected]",
                    password = "xxxx",
                    host = "smtp.163.com")
# 发送内容
content = "大Kunkun测试一下,这个库有没有用,你个臭弟弟,可别被我逮到了"
# send(指定收件人,邮件的主题,发送的内容)
smtp.send("[email protected]","Kun老师的一封测试邮件,祝您年快乐!!嘿嘿",content)

6、文字转语音(电脑直接发出语音)

安装 pyttsx3
pip install pyttsx3

import pyttsx3
engine = pyttsx3.init()
engine.say('You are so handsome!')
engine.say('我们都有一个家!')
engine.runAndWait()

7、生成日历

import calendar
year =int(input("请输入年份:"))
month = int(input("请输入月份:"))
print(calendar.month(year,month))  

Python日常办公10大小技巧_第5张图片

8、快速生成词云图(基于wordcloud,算是优化改良版。操作简单,直接调用)

# 安装 pip insall stylecloud

import stylecloud
'''
file_path:读取的文件
icon_name:想要生成的图标样式
output_name:保存文件名
'''
stylecloud.gen_stylecloud(file_path=r"D:\kun\new_life.txt",
                          icon_name="fas fa-yin-yang",
                          output_name='dragon.png')

样式关键字连接:https://fontawesome.com/v5/icons/yin-yang?s=solid&f=classic

我用的第一个 太极图标,把class的属性值 替换 上面的 icon_name的值,就好了

Python日常办公10大小技巧_第6张图片

Python日常办公10大小技巧_第7张图片

Python日常办公10大小技巧_第8张图片

gen_stylecloud 的参数如下

def gen_stylecloud(text=None,
                   file_path=None,  # 文本文件路径
                   size=512,  # 大小(长宽)
                   icon_name='fas fa-flag',  # icon样式
                   palette='cartocolors.qualitative.Bold_5',
                   # 调色板。[default: cartocolors.qualitative.Bold_6]
                   colors=None,
                   background_color="white",  # 背景颜色
                   max_font_size=200,  # stylecloud 中的最大字号
                   max_words=2000,  # stylecloud 可包含的最大单词数
                   stopwords=True,  # 布尔值,筛除常见禁用词.
                   custom_stopwords=STOPWORDS,
                   icon_dir='.temp',
                   output_name='stylecloud.png',  # stylecloud 的输出文本名
                   gradient=None,  # 梯度方向
                   font_path=os.path.join(STATIC_PATH, 'Staatliches-Regular.ttf'),  # 字体
                   random_state=None,  # 单词和颜色的随机状态
                   collocations=True,
                   invert_mask=False,
                   pro_icon_path=None,
                   pro_css_path=None):

9、获取本机IP地址

import socket as f
 
# 局域网内IP
hostn = f.gethostname()
Laptop = f.gethostbyname(hostn)
print("你的电脑本地IP地址是:" + Laptop)
 

10、googletrans(翻译)

# 安装googletrans
pip install googletrans==3.1.0a0 -i https://mirror.baidu.com/pypi/simple/
 

查看支持的语种

import googletrans
from googletrans import Translator
 
print(googletrans.LANGUAGES)
 
LANGUAGES = {
    'af': 'afrikaans',
    'sq': 'albanian',
    'am': 'amharic',
    'ar': 'arabic',
    'hy': 'armenian',
    'az': 'azerbaijani',
    'eu': 'basque',
    'be': 'belarusian',
    'bn': 'bengali',
    'bs': 'bosnian',
    'bg': 'bulgarian',
    'ca': 'catalan',
    'ceb': 'cebuano',
    'ny': 'chichewa',
    'zh-cn': 'chinese (simplified)',
    'zh-tw': 'chinese (traditional)',
    'co': 'corsican',
    'hr': 'croatian',
    'cs': 'czech',
    'da': 'danish',
    'nl': 'dutch',
    'en': 'english',
    'eo': 'esperanto',
    'et': 'estonian',
    'tl': 'filipino',
    'fi': 'finnish',
    'fr': 'french',
    'fy': 'frisian',
    'gl': 'galician',
    'ka': 'georgian',
    'de': 'german',
    'el': 'greek',
    'gu': 'gujarati',
    'ht': 'haitian creole',
    'ha': 'hausa',
    'haw': 'hawaiian',
    'iw': 'hebrew',
    'he': 'hebrew',
    'hi': 'hindi',
    'hmn': 'hmong',
    'hu': 'hungarian',
    'is': 'icelandic',
    'ig': 'igbo',
    'id': 'indonesian',
    'ga': 'irish',
    'it': 'italian',
    'ja': 'japanese',
    'jw': 'javanese',
    'kn': 'kannada',
    'kk': 'kazakh',
    'km': 'khmer',
    'ko': 'korean',
    'ku': 'kurdish (kurmanji)',
    'ky': 'kyrgyz',
    'lo': 'lao',
    'la': 'latin',
    'lv': 'latvian',
    'lt': 'lithuanian',
    'lb': 'luxembourgish',
    'mk': 'macedonian',
    'mg': 'malagasy',
    'ms': 'malay',
    'ml': 'malayalam',
    'mt': 'maltese',
    'mi': 'maori',
    'mr': 'marathi',
    'mn': 'mongolian',
    'my': 'myanmar (burmese)',
    'ne': 'nepali',
    'no': 'norwegian',
    'or': 'odia',
    'ps': 'pashto',
    'fa': 'persian',
    'pl': 'polish',
    'pt': 'portuguese',
    'pa': 'punjabi',
    'ro': 'romanian',
    'ru': 'russian',
    'sm': 'samoan',
    'gd': 'scots gaelic',
    'sr': 'serbian',
    'st': 'sesotho',
    'sn': 'shona',
    'sd': 'sindhi',
    'si': 'sinhala',
    'sk': 'slovak',
    'sl': 'slovenian',
    'so': 'somali',
    'es': 'spanish',
    'su': 'sundanese',
    'sw': 'swahili',
    'sv': 'swedish',
    'tg': 'tajik',
    'ta': 'tamil',
    'te': 'telugu',
    'th': 'thai',
    'tr': 'turkish',
    'uk': 'ukrainian',
    'ur': 'urdu',
    'ug': 'uyghur',
    'uz': 'uzbek',
    'vi': 'vietnamese',
    'cy': 'welsh',
    'xh': 'xhosa',
    'yi': 'yiddish',
    'yo': 'yoruba',
    'zu': 'zulu',
}
 

测试

translater = Translator()
out = translater.translate("你好", dest='en', src='auto')
print(out)
 

输出

# 翻译结果
'''
src:源文本的语言

dest:将源文本转换为的语言。

text:翻译的结果

使用文档:

https://py-googletrans.readthedocs.io/en/latest/
'''
Translated(src=zh-CN, dest=en, text=Hello, pronunciation=None, extra_data="{'translat...")
 

11、Python伪信息生成器

Faker是一个python软件包,。每次运行以下程序,都将产生不同的随机数据。

安装pip install Faker

from faker import Faker
fake = Faker()
print(fake.name())# 随机姓名(默认英文)
print(fake.email())# 随机邮箱
print(fake.country())# 随机国家
print(fake.profile())   # 随机简介(字典类型)

随机中文姓名

from faker import Faker
fake = Faker("zh_CN")
for i in range(10):
    print(fake.name())

Python日常办公10大小技巧_第9张图片

希望对大家有帮助

致力于办公自动化的小小程序员一枚

致力于写出最清楚的博客

都看到这了,关注+点赞+收藏=不迷路!!

你可能感兴趣的:(Python自动化办公,python,开发语言)