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


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爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
Python模块、包(Package)概念与用法分析
May 31 Python
python爬虫之自制英汉字典
Jun 24 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
基于python实现蓝牙通信代码实例
Nov 19 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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
桌面中心(三)修改数据库
2006/10/09 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
php 静态页面中显示动态内容
2009/08/14 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
js实现简单的打印表格
2020/01/15 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
python 消费 kafka 数据教程
2019/12/21 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
python3访问字典里的值实例方法
2020/11/18 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
优质的学校老师推荐信
2013/10/28 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
家长反馈意见及建议
2015/06/03 职场文书
女儿满月酒致辞
2015/07/29 职场文书