zoukankan      html  css  js  c++  java
  • 获取Windows10缓存的图片

    python


    • Read me

      • 要求:系统已安装Python3.6
      • 使用:将下面的代码放入文本文档并重命名文件为“pic.py”,直接双击执行pic.py文件
      • 结果:在当前目录下的pic目录中获得Windows10缓存图片
    • 源码

    import getpass
    import os
    import shutil
    from PIL import Image
    
    # 获取当前用户的用户名
    user = getpass.getuser()
    
    # 获取Windows10中的随机路径“Microsoft.Windows.ContentDeliveryManager_...”
    temp_dir = "C:\Users\"+ user + "\AppData\Local\Packages\"
    
    # 每个系统都可能不一样的目录
    rand_dir = "Microsoft.Windows.ContentDeliveryManager_";
    for root, dirs, files in os.walk(temp_dir):
    	if rand_dir in root:
    		temp_dir = root
    		break
    
    # 获取Windows10缓存图片目录
    pic_dir = temp_dir + "\LocalState\Assets\"
    
    # 获取当前目录
    cur_dir = os.getcwd() + "\"
    
    # 需要拷贝到的目录名称
    copy_dir = "pic"
    
    # 需要拷贝到的目录全路径
    dest_dir = cur_dir + copy_dir + "\"
    
    # 如果目标目录不存在,则新建目录
    if not os.path.exists(dest_dir):
        os.makedirs(dest_dir)
    
    
    # 获取Windows10缓存图片文件名函数
    def pic_name(file_dir):
        L = []
        for root, dirs, files in os.walk(file_dir):
            L.append(files)
        return L[0]
    
    
    # 获取Windows10缓存图片文件名列表
    pics = pic_name(pic_dir)
    
    # 复制图片
    for pic in pics:
        img = Image.open(pic_dir + pic)
        if img.width == 1920 or img.width == 1080:
            shutil.copyfile(pic_dir + pic, dest_dir + pic + ".jpg")
    

    shell


    • Read me

      • 要求:系统已安装Git
      • 使用:将下面的代码放入文本文档并重命名文件为“pic.sh”,直接双击执行pic.sh文件
      • 结果:在当前目录下的pic目录中获得Windows10缓存图片
    • 源码

    #!/bin/sh
    
    # 获取当前目录
    nowDir=`pwd`;
    
    # 指定图片存放的目录
    des="${nowDir}/pic/";
    
    # 如果指定的目录不存在,则创建
    if [ ! -d $des ];then
    	mkdir $des;
    fi
    
    # 获取当前用户
    user=`whoami`;
    
    # Windows10缓存的图片所在的目录
    picSource="/c/Users/${user}/AppData/Local/Packages/Microsoft.Windows.ContentDeliveryManager_*/LocalState/Assets";
    
    # echo ${picSource};
    # exit;
    
    # 进入Windows10缓存的图片目录下
    cd $picSource;
    
    # 获取大小超过100K的文件,并在每个文件末尾添加“.jpg”扩展
    function getAllFiles()  
    {  
            pics=`ls $picSource`;  
            bisicSize=102400;
            for pic in $pics;
            do  
               #if test -f $fileName; then  
               if [ -f $pic ];then  
                  size=`stat -c "%s" ${pic}`;  
                  if [ $size -gt $bisicSize ];then
                  	# echo $pic;
                  	cp $pic "${des}${pic}.jpg";
                  fi
                  # exit;
                  #echo "${des}${pic}.jpg";
                  #cp $pic "${des}${pic}.jpg";
               else  
                  echo "$picSource is a invalid path";  
               fi  
            done  
    } 
    
    # 执行方法
    getAllFiles;  
    
    # 运行结束
    echo "DONE";
    
  • 相关阅读:
    ROSS仿真系统简单教程
    python小练习1.1
    c语言文件I/O 文件读取和写入
    Python 学习笔记 多线程-threading
    parsec(The parsec benchmark suit )使用教程
    Checkpoint/Restore In Userspace(CRIU)使用细节
    Checkpoint/Restore in Userspace(CRIU)安装和使用
    考研总结
    北理计算机复试经验
    PAT(A) 1075. PAT Judge (25)
  • 原文地址:https://www.cnblogs.com/freelancy/p/7918708.html
Copyright © 2011-2022 走看看