【Python小程序记录】自动获取win10网络壁纸

来源:互联网 发布:彩虹域名授权源码 编辑:程序博客网 时间:2024/06/15 15:27

一、背景介绍

本本上用的是win10系统,很喜欢win10锁屏界面自动联网更新的壁纸,想拿来当桌面的壁纸,遂百度了一下,找到了其所存储的位置:

C:/Users/yourUserName/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets

但是有一个问题:这个目录下的文件都没有诸如.jpg.png 等的后缀名,无法直接用图片浏览器打开。想要拿来当桌面壁纸就必须手动加上后缀名,很是麻烦。

而且这个目录下不仅有壁纸图片,还有一些window徽标之类的不适合拿来当壁纸的小图片,所以要进行筛选,手动筛选也不是件轻松的事情。

于是就打算自己写个小程序来代劳,刚好最近在学Python,就顺手用Python写了个小程序。

二、需求分析

总的来说就是要用Python实现以下的功能:

  1. 筛选出适合当壁纸的图片
  2. 复制到新文件夹下并加上.jpg 后缀

怎么从一堆图片中找出适合当壁纸的图片呢?观察了一下,发现壁纸文件的大小往往大于400KB, 而那些徽标之类的小图通常只有几K到几十K的大小,所以设定阈值
Threshold = 400.0
遍历该目录下的文件,读取其文件大小,若大于400K,则认为合格,小于400K则认为不合格,以此来完成图片的筛选。

三、功能模块设计

主要用到了Python的对文件夹和文件的操作
引用了

import osimport os.pathimport shutil

下面就用到的os 与 os.path 的相关方法做简要记录

  • os.listdir(path)
    列出该路径下所有的文件(包含文件夹)
    返回filesfiles是一个list,包含该路径下所有文件(包含文件夹)的名字
  • os.path.isfile(filePath) 判断某路径指向的是否是文件
  • os.path.getSize(path) 判断大小
  • os.path.splitext(filename) 返回一个list,list[0]为文件名, list[1]为扩展名
  • os.rename(filePath, new_filePath) 重命名,将filePath重命名为new_filePath
  • shutil.copy(filePath, save_to_path) 将filePath下的文件拷贝至save_to_path

完整代码如下:

#!/usr/bin/env python3# -*- coding: utf-8 -*-import osimport os.pathimport shutilbk_paper_path = 'C:/Users/24382/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy/LocalState/Assets'save_to_path = 'F:/桌面壁纸/windows网络'THRESHOLD = 400.0#将文件大小从字节转换成KB, M or Gdef formatSize(bytes):    try :        bytes = float(bytes)        K = bytes / 1024    except:        print('传入的字节格式不对!')        return "Error"    return K#获取文件大小def getFileSize(path):    try:        size = os.path.getsize(path)        return formatSize(size)    except Exception as err:        print(err)#在文件后加上后缀.jpg#输入:原文件名#返回:改动过后的文件名def addSuffixJPG(oldFileName):    li = os.path.splitext(oldFileName)    if (li[1] == '.jpg'):        return oldFileName    else:        newFileName = li[0] + '.jpg'        return newFileName#在目录下找到合适的文件,并加上'.jpg' 后缀def findPaper():    #读取目录下每一个文件,返回list    files = os.listdir(bk_paper_path)    #遍历目录    for filename in files:        filePath = bk_paper_path + '/' + filename        #如果是文件且大于阈值        if(os.path.isfile(filePath) and getFileSize(filePath) >= THRESHOLD):            #所有符合要求的文件加上后缀.jpg            newName = addSuffixJPG(filename)            new_filePath = bk_paper_path + '/' + newName            os.rename(filePath, new_filePath)#将.jpg文件拷贝至save_to_pathdef copyFile():    #读取目录下每一个文件,返回list    files = os.listdir(bk_paper_path)    #遍历目录    for filename in files:        #获取文件后缀名        li = os.path.splitext(filename)        #如果是.jpg文件        if (li[1] == '.jpg'):            #拷贝至save_to_path            filePath = bk_paper_path + '/' + filename            shutil.copy(filePath, save_to_path)def main():    findPaper()    copyFile()if __name__ == '__main__':    main()    print('Done!')
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 经典家庭伦txt丝母韵欲下载 经典家庭伦txt丝母韵欲阅读 经典家庭伦txt丝母韵欲全文阅读 笔趣阁丝母欲韵1-5 我的丝母韵欲txt下载 丝母欲韵1-5阅读 水利局的妈赵丽颖我的丝母欲韵 我的丝母欲韵4-9 经典家庭伦txt岳丝母小丹韵欲下载 水利局的妈赵丽静 我的丝母欲韵 岳丝母小丹韵 丝母欲韵txt全文下载80 经典家庭伦txt丝母韵欲光棍 李阳阳 白爽 丝母 我的丝母欲韵盘多多 娇母 笔趣阁 校长妈陈淑娴外篇 丝母欲韵500 我的丝母欲韵13 经典家庭伦txt丝母韵欲电子书 经典家庭伦txt丝母韵欲彩图 经典家庭伦txt丝母韵欲txt下载 经典家庭伦txt丝母韵欲d下载 经典家庭伦txt丝母韵欲视频 长篇都市情感小说 经典家庭伦全文 久九九久精品免费视频 91在线中文字幕香蕉人人视频 经典家庭伦txt岳丝母小丹韵欲阅读 碰超上线视频人人视频千人 91青青碰起上线视频人人 车里太挤姑妈坐我腿上做小说 经典家庭伦txt岳丝母小丹韵欲小说 我的丝母欲韵第六节 91在线中文久人人视频动漫 悉母全集动漫完整视频 类别中文动漫中的视频 腐母动漫全集视频时长 86 母汁视频动漫 久99久视频精品免费观看38 难以忍耐动漫视频中文