python读取文件夹内所有图片名称,随机设置为桌面壁纸且把设置后的图片移到其他文件夹内的方法
关键词:读取文件夹、读取文件、操作系统、设置壁纸、移动文件
预期实现如下几个步骤
1、获取指定文件夹内所有图片名
2、随机取一张图片设置为壁纸
3、设置为壁纸的图片移动到另外一个文件夹中
第一步,获取指定文件夹内所有图片名
C盘background有两个文件夹,now文件夹存放是预备设置为壁纸的图片,ok文件夹存放已经设置为壁纸的图片
获取文件夹内所有图片需要导入os库,代码如下
# -*- coding: utf-8 -*- import os filePath = 'C:\\background\\' test = os.listdir(filePath+"now\\")
打印test数列
第二部,随机取值,从获取的图片名称列表中随机取出一个值,设置为壁纸,需要导入random库,代码如下
image_path = random.choice(test) setWallpaper(filePath+"now\\"+image_path)
定义的设置为壁纸的方法,上方代码中的setWallpaper
def setWallpaper(image_path): key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE) win32api.RegSetValueEx(key, "WallpaperStyle", 0, win32con.REG_SZ, "2") win32api.RegSetValueEx(key, "TileWallpaper", 0, win32con.REG_SZ, "0") win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,image_path, 1+2)
第三步,将设置好的图片移动到其他文件夹内,需要导入shutil库
shutil.move(filePath+"now\\"+image_path, filePath+"ok\\")
如此,实现了开头的1/2/3步骤,串起来整个脚本如下,可放在桌面上,壁纸看腻了,点一下就切换了,换个思路,可以从网上直接取图设置壁纸也是可行的
# -*- coding: utf-8 -*- import win32api import win32con import win32gui import os import random import shutil #设置图片为桌面背景,参考地址https://blog.csdn.net/zwvista/article/details/18655 def setWallpaper(image_path): key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control Panel\\Desktop",0,win32con.KEY_SET_VALUE) win32api.RegSetValueEx(key, "WallpaperStyle", 0, win32con.REG_SZ, "2") win32api.RegSetValueEx(key, "TileWallpaper", 0, win32con.REG_SZ, "0") win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,image_path, 1+2) #获取指定目录下所有文件名称,参考地址https://blog.csdn.net/zhuzuwei/article/details/79925562 filePath = 'C:\\background\\' test = os.listdir(filePath+"now\\") #从获取的图片名称列表中随机取出一个值,设置为壁纸,随机取值参考https://blog.csdn.net/weixin_39791387/article/details/84958436?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase image_path = random.choice(test) setWallpaper(filePath+"now\\"+image_path) #将设置好的图片移动到其他文件夹内,参考https://blog.csdn.net/silentwolfyh/article/details/74931123 shutil.move(filePath+"now\\"+image_path, filePath+"ok\\") print("设置成功")