当前位置:首页 » Python入门 » Python3如何实现Win10桌面自动切换

Python3如何实现Win10桌面自动切换

199°c 2021年02月19日 08:14 Python入门 0条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

有空写了个主动切换桌面背景图片的小程序。再不写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了。

以上便是本文的全部内容,期望对我们的学习有所协助,也期望我们多多支撑python学习网

欢迎阅读本文,希望本文对您有所帮助!

本文链接:http://www.cqrxzs.com/2448.html

版权声明:本文为原创文章,版权归 雨凡教育 所有,欢迎分享本文,转载请保留出处!

本文标签:

百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!

评论(0) 赞助本站

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

推荐阅读
04月21日

python完成机器人卡牌

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 3982次

详细介绍 这一事例关键利用turtle库完成依据键入动态性展现不一样智能机器人的图象和属性信息。 编码一部分非原創仅仅干了一丝改动和梳理促使更易阅读文章。 图片和文档資源请浏览git仓库获得:连接详细地址 涉及到下列知识要点: 1.文档载入 2.字典 3.turtle库的应用 4.操纵句子  完成的实际效果 编码 #!/bin/python3 from turtle import * from random import choice screen = Screen() screen.se...

04月21日

Python中断多种循环的思路小结

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 3252次

I. 跳出单循环 无论是什么计算机语言,都是有很有可能会有跳出循环的要求,例如枚举类型时,寻找一个符合条件的数就停止。跳出单循环是非常简单的,例如: for i in range(10): if i > 5: print i break 殊不知,大家有时会必须跳出多种循环系统,而break只可以跳出一层循环系统,例如: for i in range(10): for j in range(10): if i j > 5:...

04月19日

python3 mmh3安装及使用方法

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 303次

mmh3安装方法 hach方式关键有MD、SHA、Murmur、CityHash、MAC等几类方式。mmh3全过程murmurhash3,是一种非数据加密的hash算法,常见于hadoop等分布式系统情景中,在anaconda中安裝应用指令 pip install mmh3 难题1 出错以下: Microsoft Visual C 14.0 is required 表明缺乏C 14的库文件,挑选登录网站  https://visualstudio.microsoft.com/do...

04月19日

python脚本完成音频m4a格式转成MP3格式的实例代码

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 286次

序言 群内见到有些人了解:谁会用python将微信音频文件后缀m4a格式转成mp3格式,果断回了句:我能。 随后就私底下找话题了 解决方案详细介绍以下: 专用工具:windows系统软件,python2.7,变换库ffmpeg 安裝ffmpeg库:免费下载相匹配电脑操作系统版本号 https://ffmpeg.zeranoe.com/builds/ 我这里用的是window 64位 这儿因为途径难题,也没有把ffmpeg添加到系统软件系统变量中,因此我就用的是相对路径 C:/Users...

04月19日

python3中的eval和exec的区别与联络

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 278次

看过许多 在网上的方式,载入文档后打开文件看的确不会再是错码,可是文本文件中读取json时发觉了错码,可能是读文档默认设置的编号格式不对。下边读写能力方式可行。 留意,ensure_ascii=False能够确保不容易以ascii格式编号,确保中文的一切正常变换: import json with open('test.json', 'w', encoding='utf-8') as f: f.write( json.dumps( known_dict,...

04月19日

Django Docker容器化部署之Django-Docker当地部署

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 287次

本章将在本地搭建一个容器化的 Django 项目,感受 Docker 的运作方式。 前期准备 开发环境 虽然有基于 Windows 的 Docker 版本,但各方面兼容做得都不太好(安装也麻烦些),因此建议读者在学习前,自行安装好 Linux 或 Mac 系统。当然你愿意折腾的话,在 Windows 上搞也行。 别担心,以后开发 Django 项目仍然可以在 Windows 下进行,仅仅是开发时不使用 Docker 而已。 软件安装 Docker:学习 Docker 当然要安装 Docker...

04月19日

python编写猜数字小游戏

发布 : | 分类 : Python入门 | 评论 : 0人 | 浏览 : 278次

文中案例为大伙儿共享了python撰写猜数字小游戏的实际编码,供大伙儿参照,具体内容以下 import random secret = random.randint(1, 30) guess = 0 tries = 0 print("我的名字叫阴径,我有一个密秘数字!") print("数字从1到30,你仅有6次机遇!") while int(guess) != secret and tries < 6: print("你猜猜的数字是?") guess = input() if...

您好,欢迎到访网站!
  查看权限