恢复百度云盘本地误删的文件脚本(简单方法)


Posted in Python onOctober 21, 2017

今天被同步盘搞得焦头烂额。

辛苦码的代码(除了重要的、备份过的)都被删掉了……

当时我就石化了。。。

随后发现同步盘目录有个delete目录,里面还有manifest.xml,和一堆改了名的文件,

看到manifest.xml的内容时,瞬间觉得有救了,立马开搞python

废话不多说,直接上代码:

#-*- coding:utf-8 -*-
from xml.etree import ElementTree
import os
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

def convertfile(cachePath,orgPath):
 '''恢复文件'''
 start=0;
 while True:
  index = orgPath.find('\\', start)
  if index == -1:
   break
  start = index + 1

 orgDir=orgPath[:start]
 print 'orgDir:',orgDir

 if not os.path.exists(orgDir): 
  os.makedirs(orgDir) 
 if not os.path.exists(orgPath) or(os.path.exists(orgPath) and (os.path.getsize(orgPath) != os.path.getsize(cachePath))): 
  file_in=open(cachePath, "rb")
  file_out=open(orgPath, "wb")
  file_out.write(file_in.read()) 
  file_in.close()
  file_out.close()
 
 
def read_xml(text):
 '''读xml文件'''
 root = ElementTree.fromstring(text)
 
 lst_node = root.getiterator("record")
 for node in lst_node:
  cp=node.attrib['cachePath']
  op=node.attrib['orgPath']
  cp=cp.replace('~','.')
  op=op.replace('~','.')
  print cp+'->'+op
  convertfile(cp,op)
 
if __name__ == '__main__':
 '''将本文件放在云同步盘的根目录下,
  将mani_file改为需要恢复的manifest文件'''
 mani_file=".\\.baohe.cache\\.delete\\20140412\\manifest.xml"
 read_xml(open(mani_file).read())

本文件在Python2.7.6下正常,3.4貌似有问题(汗)

python可以在官网下载:https://www.python.org/downloads/

将本文件(假如叫做huifu.py)放在云同步盘的根目录下,比如云同步盘在“d:\baiduyun\”,那么文件应该在“d:\baiduyun\”下,最终是这样的“d:\baiduyun\huifu.py

千万不要轻易从百度云上删除已经上传的文件啊!血泪教训。。。

以上这篇恢复百度云盘本地误删的文件脚本(简单方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
python实现带声音的摩斯码翻译实现方法
May 20 Python
python调用API实现智能回复机器人
Apr 10 Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
Python Django Cookie 简单用法解析
Aug 13 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
基于python及pytorch中乘法的使用详解
Dec 27 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
opencv实现图像平移效果
Mar 24 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 #Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 #Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 #Python
python虚拟环境virtualenv的使用教程
Oct 20 #Python
Python环境搭建之OpenCV的步骤方法
Oct 20 #Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 #Python
python中的计时器timeit的使用方法
Oct 20 #Python
You might like
PHP 源代码压缩小工具
2009/12/22 PHP
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
javascript smipleChart 简单图标类
2011/01/12 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
浅谈js原生拖放
2016/11/21 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
python验证身份证信息实例代码
2019/05/06 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
Pandas的数据过滤实现
2021/01/15 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
电气技术员岗位职责
2013/11/19 职场文书
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
周年庆促销方案
2014/03/15 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
入党后的感想
2015/08/10 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
python实现简单的聊天小程序
2021/07/07 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
MySQL限制查询和数据排序介绍
2022/03/25 MySQL