python工作技巧_4个基本的 Python 技巧让你的工作流程自动化

说实话,即使是简单的任务也需要大量的时间和大量的依赖管理,这可能会变得非常复杂。

尽管如此,让一些简单的任务自动化是非常值得的,即使它更多的是为了好玩。

对于那些已经是 Python 爱好者的人来说,您知道 Python 对于与几乎任何事物进行交互是多么友好。从发送 HTTP 请求、与 API 交互到加载和管理数据库。

Python 是自动化的一个很好的选择。

这里有五个简单的事情,可以帮助您的各种工作流程和项目 自动化。

1. 自动移动鼠标, 以便 Skype/Lynk 显示你在工作中处于活跃状态

想象一下,在过去的十分钟里,你一直在浏览你最喜欢的社交媒体应用程序的新闻 feed。突然,你的 Lynk 活跃的符号变成了黄色。你没有活动,也没有在开会。

你爱管闲事的老板走过来拍拍你的肩膀。

惊讶的是,你抬起头看到他在瞪着你。他有个坏习惯,总是对你的每一分每一秒进行微观管理。

“嘿,呃,我想让你放松,除了那个模块怎么样了,”他问道。你咬紧牙关,礼貌地回答。

“好吧,我只是想确保你专心致志。我们的副总裁贾尼斯真的希望我们能赶上最后期限。”

互动结束。

等等,你可以绕过这个。在 google 了一会儿之后,你找到了一个脚本来移动你的鼠标,并且开始编写一个作业来每隔几分钟运行一次,以确保你的鼠标在移动。

这些鼠标和键盘的动作可以让你看起来像是在工作,比如 Skype 或者 Lynk。

自动化使用 Python 的 PyAutoGUI 模块,要安装 PyAutoGUI 模块,运行以下命令:

pip install pyautogui

pip 安装 pyautogui

使用屏幕上的鼠标坐标系控制和跟踪鼠标。例如,如果你使用1920x1080的屏幕分辨率,你的屏幕坐标系应该是这样的:

下面的函数可以在 PyAutoGUI 模块下使用:

Size () : size ()函数让您知道屏幕分辨率:

import pyautogui

print(pyautogui.size())

运行这个文件(保存为。Py 扩展) ,Python 代码使用 size ()函数将屏幕分辨率的 x,y 格式作为输出:

在 PyAutoGUI 模块中移动鼠标。下面的代码使用这个函数,它采用 x 和 y 的坐标,以及一个可选的持续时间参数。该函数使用指定的时间持续参数将鼠标指针从当前位置移动到 x 和 y 的坐标

import pyautogui

print(pyautogui.size())

pyautogui.moveTo(150,100, duration = 2)

运行这个 Python 脚本会神奇地将鼠标指针从当前位置移动到坐标(150,100) ,这个过程只需要花费2秒钟完成。

除了这些基础之外,还可以使用诸如 click 和 typewrite 之类的函数来处理 click 和 type 字符串。

所有这些都可以用来确保你的老板不会很快发现你偷懒。

2. 使用 Selenium 自动登录网站

许多网站不赞成使用自动爬虫和程序登录他们的网站。但是,这仍然是一项伟大的技能。

Selenium 是一个非常有用的库,可以被多种语言使用,并且可以帮助 UI QA 自动化,甚至可以用登录来搜索网站。

尽管学习 Selenium 可能需要一些时间,但从小做起,只需要构建一个登录到您喜爱的网站的工具即可

首先,必须安装 Chrome Driver 和 Python 的 Selenium 库。使用下面的命令添加 Selenium 库:

pip install Selenium

首先,我们需要从 Python 的 Selenium 库中导入一些选定的模块:

From selenium import webdriver

driver = webdriver.Chrome()

现在,为了使登录过程自动化,我们从一个简单的任务开始,比如网站的登录表单。

这项任务包括:导航到网站。

查找登录域(通常是用户名和密码)。

填写你的登录信息。

提交登录详细信息,让您自动通过登录屏幕。

提示: 您可能决定定义一个“method”(用于频繁登录) ,以便在其他测试中进行重用。

代码行看起来类似于:

From selenium import webdriver

driver = webdriver.Chrome()

def login(url,username,password,submit_button):

driver.get(url)

driver.find_element_by_id(username).send_keys("username")

driver.find_element_by_id(password).send_keys("password")

driver.find_element_by_id(password).(submit_button).click()

正如您将注意到的,您需要获得您想要交互的元素。这可以说是创建一个 web-scraper 或登录到站点的自动化脚本的难点之一。

有几种方法可以检测 web 应用程序的元素来查找登录字段。

寻找元素的常见方法包括 ID (如上面的例子)、 CSS 选择器、名称和 XPaths。

在 Selenium 的官方文档中可以找到一种不同的方法来定位登录过程的元素。一些网站使用更多的动态内容(比如一些 JavaScript!)

总的来说,观看 Selenium 自动点击按钮并登录到你最喜欢的网站是令人着迷的。没有你的参与,事情就开始运转起来。

3. 自动文件备份

如果您执行常规备份,则创建自动备份文件非常有用。

您可能熟悉 ZIP 文件(带有。Zip extension).ZIP 文件可以包含几个文件及其压缩内容。而且,由于 ZIP文件还可以保存许多文件夹和子文件夹,因此将它们打包成一个文件夹就成为备份文件的一种方便的方法。

可以使用 zipfile 模块中的 Python 函数自动创建单个 ZIP 文件(称为归档文件)。

您还可以使用 Python 打开(或解压缩) ZIP 文件。

这个脚本摘自《用 Python 自动化无聊的事情》一书(如果你想要更多的想法的话)。

import zipfile, os

def backup(folder)

folder = os.path.abspath(folder)

offset=1

while True:

zip_name=os.path.basename(folder)+'_'+str(offset)+'.zip'

if not os.path.exists(zip_name):

break

offset+=1

print("Successfully created file " %s" %(zip_name))

backupzip=zipfile.ZipFile(zip_name,'w')

for foldername,subfolders,filenames in os.walk(folder):

backupzip.write(foldername)

backupzip.close()

print("done")

4. 自动发布 YouTube 视频到 Reddit

另一个我们最近看到并且认为是一个有趣的自动化任务的方法,你可能经常做,是使用一个脚本发布多个视频到 Reddit。

在 Reddit 上发布 YouTube 视频也可以自动化。使用 PRAW,一个 Python 包装器,可以让你搜集数据,可以提供更多的 Reddit 体验。

首先,使用 pip 安装 PRAW。

下面的脚本会自动将 YouTube 视频发布到 Reddit 上。

import praw

video_url=str(input("Your video url:"))

post_msg = str(input("Your post message"))

reddit=praw.Reddit(client_id="***************",

client_secret="************",

user_agent="**********",

username="************",

password="***********")

subreddit_list =["Python","PytonProjects","learningprogramming"]

for i in subreddit_list:

subreddit=reddit.subreddit(i)

print("Posting video to" + i)

subreddit.submit(post_msg, url=video_url)

print("Done")

总结

自动化任务可以带来很多乐趣。看着你的程序自动登录到你最喜欢的网站,或者载入数百个文件到一个数据库,可以让你感觉好像你已经重新设计了轮子。

而且,有很多很棒的库可以帮助你轻松地自动化任务。Excel 报告、电子邮件和其他任务可以简化为几行代码。

只要它是可维护的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的医院后台管理系统实现了病房管理、病例管理、处方管理、字典管理、公告信息管理、患者管理、药品管理、医生管理、预约医生管理、住院管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让医院后台管理系统更能从理念到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值