这是一个自动更换桌面壁纸的简易程序,通过它了解从编写到自动运行的全过程。
环境:vscode
python版本:python311
目录
1.创建方法与执行文件
1.1 change.py
import ctypes
path='C:/Users/admin/Pictures/Camera Roll/'
def change_wallpaper(file_name='moon.jpg'):
real_path=f"{path}{file_name}"
ctypes.windll.user32.SystemParametersInfoW(20,0,real_path)
1.2 execute.py
from change import change_wallpaper
import random
import os
import time
while True:
picture_list=os.listdir('C:/Users/admin/Pictures/Camera Roll/')
random_picture=random.choice(picture_list)
while random_picture=='desktop.ini':
random_picture=random.choice(picture_list)
change_wallpaper(random_picture)
time.sleep(3*60*60)
2. 打包
2.1 下载打包工具
第二个为国内镜像
pip install pyinstaller
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
2.2 打包
-F 使得打包后只有一个可执行文件; -w 不会弹出终端窗口,程序中有print或input时去掉这一项
pyinstaller -F -w execute.py
出现问题:pyinstaller不能被解释
原因:环境变量中没有该路径。默认下载位置:
C:\Users\admin\AppData\Roaming\Python\Python311\Scripts
解决方法:没有选择添加新的path,而是将该文件夹下的文件复制到python的文件夹下,我的路径是
C:\Program Files\Python311\Scripts
打包后在该项目的dist文件下出现exe类型的文件
3 开机自动运行
此时双击该文件就可以看到壁纸被更换,设置了3小时更换一次,现在设置其开机自动运行。
开始中检索运行,输入shell:startup,在该文件夹下复制该exe文件。
开始中检索task打开任务管理器,该程序出现在“启动”中,则成功添加。