老板以为我熬夜加班,其实我在用Python库”摸鱼”!
职场上有一种人,天天准点下班,活儿却干得又快又好。你以为人家是天赋异禀?其实人家在用Python”偷懒”。这篇文章就来聊聊几个能帮你解放双手的Python库,把那些重复性的体力活儿统统甩给代码去干。
PyAutoGUI:让电脑自己动起来
这玩意儿是摸鱼界的扛把子。它能模拟鼠标移动、点击,还能模拟键盘输入。你平时用鼠标键盘能干的事儿,它都能帮你干。
装一下:
来个简单的,让鼠标自己移动:
importpyautogui
importtime
# 把鼠标移到屏幕坐标(500, 300)的位置
pyautogui.moveTo(500, 300)
time.sleep(1)
# 点一下
pyautogui.click()
运行后你会发现鼠标自己跑到指定位置,还自动点了一下。是不是有点意思?
再来个实用的——自动打字:
importpyautogui
importtime
time.sleep(3) # 给你3秒切换到记事本
pyautogui.typewrite('Hello World', interval=0.1)
这段代码等3秒后,会自动在当前光标位置敲出”Hello World”。interval参数控制每个字母之间的间隔,设成0.1秒看起来更像人在打字。
温馨提示:typewrite()只能输入英文和数字。想输中文得用pyperclip配合剪贴板,先复制再粘贴。
schedule:定时执行才是真香
光会自动化还不够,得让脚本在特定时间自己跑起来才行。schedule这个库就是干这个的,语法简单到离谱。
看个例子:
importschedule
importtime
defjob():
print("我在工作呢老板!")
# 每隔10分钟执行一次
schedule.every(10).minutes.do(job)
# 每天早上9点执行
schedule.every().day.at("09:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
这代码跑起来后,每10分钟会打印一次,每天9点也会打印。你可以把job函数换成任何你想自动执行的任务,比如发邮件、生成报表、备份文件什么的。
那个while True是必须的,它让程序一直运行着检查有没有该执行的任务。
openpyxl:Excel表格随便造
做报表是很多打工人的噩梦。同样的格式,同样的操作,日复一日。openpyxl能帮你自动读写Excel文件,省下来的时间够你喝两杯咖啡。
创建一个Excel并写入数据:
fromopenpyxlimport Workbook
# 新建工作簿
wb = Workbook()
ws = wb.active
# 写入表头
ws['A1'] = '姓名'
ws['B1'] = '销售额'
# 写入数据
data = [
['张三', 15000],
['李四', 23000],
['王五', 18000]
]
for row in data:
ws.append(row)
# 保存文件
wb.save('销售报表.xlsx')
跑完代码,当前目录下就多了一个”销售报表.xlsx”,打开一看,表头和数据都整整齐齐躺在那儿。
读取Excel也很简单:
fromopenpyxlimport load_workbook
wb = load_workbook('销售报表.xlsx')
ws = wb.active
for row in ws.iter_rows(min_row=2, values_only=True):
print(f"{row[0]}的销售额是{row[1]}")
输出结果是:
张三的销售额是15000
李四的销售额是23000
王五的销售额是18000
min_row=2是从第二行开始读,跳过表头。values_only=True直接拿单元格的值,不拿单元格对象。
温馨提示:openpyxl只支持.xlsx格式。老版本的.xls文件得用xlrd库来处理,别搞混了。
来个实战:防锁屏神器
很多公司电脑几分钟不动就锁屏,每次解锁都要输密码,烦得很。用PyAutoGUI写个小脚本,让鼠标隔一会儿自己抖一抖:
importpyautogui
importtime
importrandom
print("防锁屏已启动,按Ctrl+C退出")
try:
while True:
# 获取当前鼠标位置
x, y = pyautogui.position()
# 随机偏移一点点
offset = random.randint(1, 3)
pyautogui.move(offset, offset)
time.sleep(0.1)
pyautogui.move(-offset, -offset) # 移回去
time.sleep(180) # 等3分钟
except KeyboardInterrupt:
print("已退出")
这脚本每3分钟让鼠标轻微抖动一下,幅度小到肉眼几乎看不出来,但足够让系统认为你在操作电脑。按Ctrl+C可以随时退出。
温馨提示:用这招前想清楚,万一被IT部门发现脚本在后台跑,可能会有点尴尬。摸鱼虽香,风险自担。
这几个库组合起来,能应付大部分重复性工作。PyAutoGUI负责操作界面,schedule负责定时触发,openpyxl负责处理表格数据。学会这三板斧,你也能成为那个”工作效率超高”的人。
不过话说回来,省下来的时间拿去摸鱼还是拿去学新东西,这就看你自己了。技术是把双刃剑,用好了是生产力工具,用歪了……那就是另一个故事了。