首页 > 系统相关 >浅写一个Python脚本归档Windows的截图

浅写一个Python脚本归档Windows的截图

时间:2023-12-04 10:24:04浏览次数:44  
标签:img Windows SCREENSHOTS list Python 浅写 PATH os 7z

添加到计划任务每月运行

from datetime import datetime
import os

# 这里使用了Windows的环境变量,需在计划任务中指定你的用户
PATH_SCREENSHOTS = r'C:\Users\%USERNAME%\Pictures\Screenshots'
PATH_7Z = r'C:\Program Files\7-Zip\7z.exe' if os.path.isfile(r'C:\Program Files\7-Zip\7z.exe') else r'7z'
if os.system(PATH_7Z) != 0:
    print('找不到7z安装,尝试重新安装到默认文件夹或添加到环境变量')
    exit(1)
    
img_list = list(filter(lambda x: str(x).endswith(('.jpg', '.png')), os.listdir(PATH_SCREENSHOTS)))
# 如果没有截图就退出
if not img_list:
    exit(0)

date_ym = datetime.today().strftime("%Y%m")
cmd = f'cd {PATH_SCREENSHOTS} && {PATH_7Z} a {date_ym}.7z {''.join(map(lambda x: f' "{x}"', img_list))}'

# 压缩后删除原文件
os.system(cmd)
for image in img_list:
    os.remove(f'{PATH_SCREENSHOTS}\\{image}')

标签:img,Windows,SCREENSHOTS,list,Python,浅写,PATH,os,7z
From: https://www.cnblogs.com/lzakou/p/17874340.html

相关文章

  • 深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析
    本文分享自华为云社区《深入理解HarmonyOSUIAbility:生命周期、WindowStage与启动模式探析》,作者:柠檬味拥抱。UIAbility组件概述UIAbility组件是HarmonyOS中一种包含UI界面的应用组件,主要用于与用户进行交互。每个UIAbility组件实例对应最近任务列表中的一个任务,可以包含多个页......
  • Python基础 continue; pass; break;
    在Python中,pass、continue和break都是在循环中使用的控制语句,但它们的作用是不同的。pass是一个空操作语句,它的作用是保持程序的控制流程,不做任何事情。当你在编写代码时,如果你需要一个语句块,但你还没有决定在里面放什么,你可以使用pass。例如,在创建一个空的类或者函数时,你可能会使......
  • 【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用
    写在前面先吐槽两句,搞个mysql安装配置弄了4个小时,怎么都是外网无法访问,我靠,我特么也是服了。当然,后来我投降了,明天再说,学什么不是学,娘的,换个方向,状态依然在!Sijax是什么?代表SimpleAjax,它是一个Python/jQuery库,使用jQuery.ajax来进行AJAX请求用的。安装依赖pipinstallflas......
  • Windows驱动中使用数字签名验证控制设备访问权限
    1.背景  在一般的驱动开发时,创建了符号链接后在应用层就可以访问打开我们的设备并进行通讯。  但我们有时候不希望非自己的进程访问我们的设备并进行交互,虽然可以使用IoCreateDeviceSecure来创建有安全描述符的设备,但大数的用户账户为了方便都是管理员,因此该方法不太完整......
  • 【python笔记】subprocess,调用外部程序
    importsubprocesssubprocess.run("notepad")将会打开记事本。如果当前路径下有个叫test.txt,而想用记事本打开这个文本文件:importsubprocesssubprocess.run(["notepad","test.txt"])执行cmd命令:importsubprocesscmd="echoI'mhandsome"subpro......
  • opencv-python
    第一步,确认环境pipinstallopencv-pythonpipinstallopencv-contrib-python12第二步,下载模型WeChatCVGutHub:link备用地址:link第三步,识别二维码importcv2fromcv2.wechat_qrcodeimportWeChatQRCodedetector=WeChatQRCode(detector_prototxt_path="qr_mode/detect.pro......
  • python 正则表达式总结
    python正则表达式总结#findall找出所有的,match从第一个字符开始找,fullmatch全句完全匹配,search从任意位置开始找text="jack最好,jack最好的,jack最好了,jack是最好的"pattern="jack最好"print(re.findall(pattern,text))输出:['jack最好',......
  • 学习记录:用python实现井字棋小游戏
    1.实现双人井字棋 创建3*3矩阵 制作下棋函数 制作判断获胜函数 2.实现简单ai 在输入下棋位置后自动在空位下棋 3.复杂化 自动寻找下后获胜的位置 若无则判断对手是否即将获胜并进行堵截 仍无则在随机空位下棋 新手上路出现了很多啼笑皆非的bug 诸如在print下方出现N......
  • Python 的 tqdm 如果在内部使用print打印 会重复打印进度条 怎么避免这个问题?
    要避免在使用Python的tqdm库时在内部使用print打印时重复打印进度条,您可以通过使用tqdm库提供的特殊函数tqdm.write()来实现。tqdm.write()函数会将输出写入到标准输出,而不会干扰进度条的显示。下面是一个示例:fromtqdmimporttqdmimporttime#创建一个范围为10的进度条fori......
  • python日志模块回顾
    日志模块配置文件logging.yamlversion:1formatters:simple:format:'[%(asctime)s%(thread)d][%(levelname)s]%(message)s'#日志内容的格式化,具体参数问GPT或百度dateformat:'%Y-%m-%d%H:%M:%S.%f'handlers:console:class:logging.StreamHand......