python win10 桌面_Python3如何实现Win10桌面自动切换

得空写了个自动切换桌面背景图片的小程序。再不写python就要扔键盘了,对vue还有那么一点好感,天天php真是有够烦。

准备工作

准备个文件夹放在桌面上,平时看到什么高清好图就拽进去。

运行脚本

脚本如下:

#!/usr/bin/python

import ctypes

import osimport random

import functools

import schedule

index = 0

def change_background(picture_path: str) -> None:

ctypes.windll.user32.SystemParametersInfoW(20, 0, picture_path, 3)

def get_pictures(dir_path: str) -> list:

return [os.path.join(root, name)

for root, dirs, files in os.walk(dir_path, topdown=False)

for name in files

if name.endswith('jpg') or name.endswith('png')]

def log(text):

def decorator(f):

@functools.wraps(f)

def wrap(*args, **kwargs):

p = f(*args, **kwargs)

print(f'{text}: {p}')

return p

return wrap

return decorator

@log(f'DESKTOP_BG_IMG switch to')

def change_background_job(dir_path) -> None:

if dir_path.__class__.__name__ == 'list':

dir_path = dir_path[0]

pictures = get_pictures(dir_path)

index = random.randint(0, len(pictures) - 1)

change_background(pictures[index])

return pictures[index]

def scheduler(job: staticmethod, interval, arg_num, *args) -> None:

if arg_num <= 0:

schedule.every(interval).seconds.do(job)

else:

schedule.every(interval).seconds.do(job, [args[i] for i in range(arg_num)])

while True:

schedule.run_pending()

if __name__ == '__main__':

scheduler(change_background_job, 10, 1, r'C:\Users\zenkilan\Desktop\test_pictures', 'hello', 'world')

函数scheduler接受4个以上参数:

1. 定时执行的job函数对象

2. 执行时间间隔,单位:秒

3. 函数job需要几个参数

4~*. 函数job的参数们

还可以进一步扩充,比如在get_pictures函数里面再加一些rules,低于多少mb的照片就不能作为桌面背景图之类的,接着加or就ok了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中抽象类继承抽象类_用Java中的抽象类扩展抽象类

java中抽象类继承抽象类示例问题 当我创建Java :: Geci抽象类AbstractFieldsGenerator和AbstractFilteredFieldsGenerator我遇到了一个不太复杂的设计问题。 我想强调一下&#xff0c;这个问题和设计对于某些人来说似乎很明显&#xff0c;但是在我最近与一位初级开发人员&#…

pb90代码如何连接sql2008r2_如何使用 HTTP Headers 来保护你的 Web 应用

众所周知&#xff0c;无论是简单的小网页还是复杂的单页应用&#xff0c;Web 应用都是网络攻击的目标。2016 年&#xff0c;这种最主要的攻击模式 —— 攻击 web 应用&#xff0c;造成了大约 40% 的数据泄露。事实上&#xff0c;现在来说&#xff0c;了解网络安全并不是锦上添花…

Servlet配置初始化参数/配置参数

文章目录给某个Servlet配置初始化参数配置全局的参数ServletConfig给某个Servlet配置初始化参数 也可以通过注解的方式来配置初始化参数&#xff1a; 在 Servlet 中获取针对 Servlet 的参数值&#xff1a; String version getInitParameter("version");配置全局的…

poi动态创建文档_POI创建的文档具有不同条件的灵活样式

poi动态创建文档介绍 这篇文章解释了基于各种标准将样式应用于文档的困难并提供了解决方案。 Java编程中的常见任务之一是根据存储在数据库中的数据创建Excel报告。 在这些情况下&#xff0c;Java程序员使用POI :-)。 这些报告通常对样式和数据格式有严格的规定。 数据通常是SQ…

python编码程序_python 编码

网页的编码方式是简体中文gb2312 (查看网页源码&#xff0c;可以看到)&#xff0c;而python内部的编码方式为unicode&#xff0c;之前的代码是这样的&#xff1a;contentAll urllib.urlopen(urlLink).read()soup BeautifulSoup.BeautifulSoup(contentAll) #生成BeautifulSou…

比特(bit)_二进制数

二进制数位&#xff0c;也叫比特位&#xff0c;其实就是指位置&#xff0c;是指二进制数的位置。例如&#xff0c;0101 这是二进制数&#xff0c;而且是 4 位的二进制数&#xff0c;因为有 4 个位置&#xff0c;每个位置放一个二进制数&#xff0c;确切的说是每个位置放一个二进…

javax线程池超时结束_没有Javax的Jakarta EE:这次世界也不会结束

javax线程池超时结束如果您错过了新闻&#xff0c; Oracle将向Eclipse基金会捐赠Java EE规范 。 这个决定是在规范过程中进行了相当长时间的Hibernate之后&#xff0c;人们理所当然地怀疑Oracle丧失了对Java EE的战略兴趣。 首先&#xff0c;Java EE和更广泛的Java社区很好地满…

Final Cut Pro X如何去视频水印/视频去水印

先剪辑好视频(比如把不要的段切掉)&#xff0c;然后选中视频&#xff0c;把它复制一份到另一个轨道(按住option键&#xff0c;用鼠标左键拖放即可复制)点击右下角的 效果(Effect)→ 模糊(Blur)→ 高斯模糊(Gaussian)&#xff0c;把高斯模糊拖入上边那条轨道再次选择效果(Effect…

为什么线程池里的方法会执行两次_面试官问你java都有哪些线程池,自己是否自定义过线程池...

我还记得大学实习面试时&#xff0c;被问到什么是线程池这个问题&#xff0c;因为这个题我被录取了&#xff0c;原因就是我背出来了&#xff0c;而另外一个面试的没背出来&#xff0c;说实话当时还真不知道它是干什么的&#xff0c;就是看面试题给背下来了&#xff0c;在之后就…

java中两任务并行运行_Java并行编程中的“可调用”与“可运行”任务

java中两任务并行运行当我们用Java编写多线程应用程序时&#xff0c;我们倾向于使用“ Runnable ”接口来实现线程类。 您的类必须简单地实现此接口并覆盖run方法。 对于琐碎的用例&#xff0c;我们可以通过调用“ start”方法直接启动线程&#xff0c;结果将控制流委托给run…

Servlet中的监听器

文章目录什么是监听器如何写监听器配置监听器统计在线人数的案例什么是监听器 Servlet 规范当中定义的一种特殊的类&#xff0c;作用是监听容器当中产生的一些事件并进行相应的处理。 容器产生的事件指的是两大类事件&#xff1a; 第一大类 生命周期相关的事件&#xff0c;指…

python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码

百度AI提供了一天50000次的免费文字识别额度&#xff0c;可以愉快的免费使用&#xff01;下面直接上方法&#xff1a;首先在百度AI创建一个应用&#xff0c;按照下图创建即可&#xff0c;创建后会获得如下&#xff1a;创建后会获得如下信息&#xff1a;APP_ID ******API_KEY …

selenium 替代品_每个人都在谈论Selenium替代品-明智地选择!

selenium 替代品什么是Selenium&#xff1f; Selenium是一套Web浏览器自动化工具&#xff0c;用于跨多种平台实现浏览器自动化。 尽管Selenium工具具有更多功能&#xff0c;但出于测试原因&#xff0c;它们仍被用来自动化Web应用程序。 Jason Huggins于2004年创建了Selenium&am…

Maven构建Artifact时,不会创建空目录

Maven 构建的 Web 项目中&#xff0c;你在 Web Resource Directories&#xff08;默认名称是webapp&#xff09;下创建的空目录&#xff0c;在构建Artifact 时&#xff0c;并不会在构件中也创建该空目录。 下图所示的四个空目录 upload&#xff0c;在构建 Artifact 时都不会创…

通用数据保护条例_欧盟《通用数据保护条例》——2019年的形势

“自欧盟《通用数据保护条例》(GDPR)生效以来&#xff0c;很多公司企业都忙于实行全新的数据保护标准。一个完善的数据保护管理系统比以往任何时候都要重要。我们可以参考一下其他公司在GDPR方面的一些初步经验。”自2018年5月25日GDPR生效以来&#xff0c;它在某些情况下引发了…

【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

caffeine 缓存_使用Caffeine和Spring Boot的多个缓存配置

caffeine 缓存缓存是几乎所有应用程序性能的关键。 有时需要分布式缓存 &#xff0c;但并非总是如此。 在许多情况下&#xff0c;本地缓存可以很好地工作&#xff0c;并且不需要分布式缓存的开销和复杂性。 因此&#xff0c;在许多应用程序中&#xff0c;包括普通的Spring和Sp…

File类的学习

文章目录简介常量常用方法代码示例简介 java.io.File 是文件和目录的路径名的抽象表示形式&#xff0c;主要用于文件和目录的创建、查找和删除等操作 常量 public static final char separatorChar // 这个常量保存系统默认的文件名分隔符&#xff0c;以字符形式保存 public…

服务器被一堆系统登录_WIN10做天高服务器客户端登录出现“操作系统原因无法登录”...

今天上午&#xff0c;有一个天联高级版的客户反馈&#xff0c;说金万维天联高级版客户端无法登录了&#xff0c;如图&#xff1a;具体错误“由于您连服务器操作系统原因”&#xff0c;具体截图如下&#xff1a;根据上图的错误提示&#xff0c;应该是天联高级版服务器的补丁失效…

selenium查找文本_在Selenium中查找具有链接文本和部分链接文本的元素

selenium查找文本Selenium中CSS定位器是一个基本概念&#xff0c;每个旨在使用Selenium执行自动化测试的测试人员都应该意识到这一点。 在Selenium中充分使用CSS定位器可以帮助您以更高效&#xff0c;更彻底的方式执行测试。 我从7年以来一直从事自动化测试行业&#xff0c;而且…