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


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处理圆角图片、圆形图片的例子
Apr 25 Python
Python 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 Python
python代数式括号有效性检验示例代码
Oct 04 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 Python
Python面试不修改数组找出重复的数字
May 20 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 调试利器debug_print_backtrace()
2012/07/23 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
js改变style样式和css样式的简单实例
2016/06/28 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python实现二叉查找树实例代码
2018/02/08 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python requests设置代理的方法步骤
2020/02/23 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
Solaris操作系统的线程机制
2012/12/23 面试题
小学英语课后反思
2014/04/26 职场文书
贷款担保书范文
2014/05/13 职场文书
英语教师自荐信
2014/05/26 职场文书
车辆工程专业求职信
2014/06/14 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
员工工作表扬信
2015/05/05 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书