Python更换windows桌面

前言

每天下班,有时候会留下一些事情需要明天更进

为了防止忘记,之前会写在txt里面



就算txt放在显眼的位置,有时候还是会忘记

所以想要将文本输出到桌面壁纸上,加粗高亮,这样就不会忘了

准备工作

有一些库的下载可能会很慢,所以推荐使用阿里云镜像

对于网络好的用户,这一步可以跳过

升级pip版本

python -m pip install --upgrade pip

设置阿里云镜像

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

取消使用阿里云镜像

pip config unset global.index-url

代码

Python官方文档

https://docs.python.org/3/library/ctypes.html

ctypes是 Python 的外部函数库。它提供 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。它可用于将这些库包装在纯 Python 中。

pip install pillow
import ctypes

from PIL import Image, ImageFont, ImageDraw

def change_wallpaper():
# path 桌面壁纸路径
path = "C:\Windows\Web\Wallpaper\Theme1\img2.jpg" img = Image.open(path) # 选择字体样式 大小 颜色
font = ImageFont.truetype("C:\Windows\Fonts\msyh.ttc", 120)
color = (66, 66, 66) # txt_path txt文件位置 我放在桌面 r表示不认为\为转义符
txt_path = r"C:\Users\Zzz\Desktop\rember.txt" # 记录txt中内容 放在list中
word = []
with open(txt_path, encoding='utf-8') as file:
for line in file.readlines():
word.append(line) draw = ImageDraw.Draw(img)
width = img.width
fixed_with = width / 5
total = 1 # fixed_with 文字所在x轴起始位置
for message in word:
start_height = 100 # changed_height 文字所在y轴高度
# 155 : 文字之间间隔 可以参考font字体大小
changed_height = start_height + total * 155 # 将txt中文字写入图片 x,y轴位置
position = (fixed_with, changed_height)
draw.text(position, message, color, font=font) # 写一行 空一行
position = (fixed_with, changed_height + 155)
draw.text(position, "", color, font=font)
total = total + 2 # file_name 生成图片存放位置
file_name = r"C:\Users\Zzz\Desktop\background.png"
img.save(file_name) # 设置壁纸
ctypes.windll.user32.SystemParametersInfoW(20, 0, file_name, 0) # 设置桌面壁纸 if __name__ == '__main__':
change_wallpaper()

效果展示

  • 文档中信息

  • 壁纸效果

Tips-如何更有仪式感

  1. 桌面上新建一个txt

  2. 写入两行脚本
cmd /c python D:\a_projects\python\day_1\com\lizi\background.py
del C:\Users\Zzz\Desktop\background.png

cmd /c : 打开cmd窗口 运行完关闭

python D:\a_projects\python\day_1\com\lizi\background.py :用python执行文件

del C:\Users\Zzz\Desktop\background.png : 删除生成的图片

3. 将txt后缀 改为bat

每天更新完rember.txt后 双击bat脚本 就能自动替换桌面壁纸了

Python与Windows桌面的更多相关文章

  1. Python基础系列讲解-自动控制windows桌面

    原链接:https://zhuanlan.zhihu.com/p/73001806 在使用PC时与PC交互的主要途径是看屏幕显示.听声音,点击鼠标和敲键盘等等.在自动化办公的趋势下,繁琐的工作可以让程 ...

  2. [翻译].NET Core 3 Preview1和Windows桌面框架开源

    原文来自TechViews 今天,我们宣布推出.NET Core 3 Preview 1.这是.NET Core 3的第一个公开发布.我们有一些令人兴奋的新功能可供分享,并希望得到您的反馈.您可以使用 ...

  3. Python编写的桌面图形界面程序实现更新检测和下载安装

    在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的 Tkinter .强大的 PyQt5 和 PySide2 ,还有 wxPython .借助这些或内置或第三方的模块,我们可以轻松 ...

  4. 实用 | 利用 aardio 配合 Python 快速开发桌面应用

    1. 前言 大家好,我是安果! 我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长 假如想快速开发一款 PC ...

  5. 使用Python写Windows Service服务程序

    1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32 ...

  6. python 基于windows环境的ftp功能

    描述: 1.基于备份服务器部署的py程序,将需要备份主机目录下的内容下载至备份服务器(服务端和远端都是windows server 2008) 2.py程序部署在windows服务器,后台运行,基于b ...

  7. 关于Python 获取windows信息收集

    收集一些Python操作windows的代码 (不管是自带的or第三方库)均来自网上 1.shutdown 操作 定时关机.重启.注销 #!/usr/bin/python #-*-coding:utf ...

  8. Cocos2dx集成于windows桌面窗口程序的步骤

    2D游戏需要做编辑器,而编辑器总是希望可以复用游戏中的逻辑来运行场景试看效果. 对于cocos2dx开发的程序,这个需求可以描述为: 实现一种方法,在桌面窗口程序中的某个控件上显示cocos2dx的场 ...

  9. python安装(windows)

    1.python安装(windows) 1.1 下载安装包 https://www.python.org/downloads/ 1.2 安装 python2.7默认安装路径:C:\python27 注 ...

随机推荐

  1. 汇编语言基于8086CUP(想学操作系统的前奏!!!)

    汇编语言基于8086CUP(想学操作系统的前奏!!!) 1.汇编语言的产生 1.1.思维图 1.2.单位转换 1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1 ...

  2. ChromePortable-Chrome便携化、绿化软件v2.0

    ChromePortable-Chrome便携化.绿化软件v2.0-用户手册 By:ybmj@vip.163.com ,http://bbs.kafan.cn/thread-1806385-1-1.h ...

  3. Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式

    Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...

  4. 恭喜社区喜提三枚新 Committer!

    点击上方 蓝字关注我们 ✎ 编 者 按 Apache DolphinScheduler 社区最近又迎来三位新的 Committer,凭借对社区的高质量贡献,社区很荣幸地邀请他们加入 Committer ...

  5. DolphinScheduler 荣获 2021 中国开源云联盟优秀开源项目奖!

    点击上方 蓝字关注我们 好消息,中国开源云联盟(China Open Source Cloud League,简称"COSCL")于近日公布 2021 杰出开源贡献者.优秀开源项目 ...

  6. [C#]使用 AltCover 获得代码覆盖率 - E2E Test 和 Unit Test

    背景 在 CI/CD 流程当中,测试是 CI 中很重要的部分.跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆 ...

  7. 在django中前后端传输数据的编码格式(contentType)

    写在前面 在django中,针对前后端传输数据的编码格式,我们主要研究的是post请求:因为get请求传输的数据往往是直接放在url的后面的!如: url?username=zhang&pas ...

  8. 微软Azure配置中心 App Configuration (一):轻松集成到Asp.Net Core

    写在前面 在日常开发中,我这边比较熟悉的配置中心有,携程Apollo,阿里Nacos(配置中心,服务治理一体) 之前文章: Asp.Net Core与携程阿波罗(Apollo)的第一次亲密接触 总体来 ...

  9. Crash的数字表格 (莫比乌斯反演)

    Crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b ...

  10. RabbitMQ 入门系列:6、保障消息:不丢失:发送方、Rabbit存储端、接收方。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...