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


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的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
python Django模板的使用方法
Jan 14 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
Python对象与引用的介绍
Jan 24 Python
Python队列、进程间通信、线程案例
Oct 25 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
Dec 11 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
Python调用shell命令常用方法(4种)
May 11 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 魔术函数使用说明
2010/02/21 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
合作协议书范本
2014/04/17 职场文书
初中班主任评语大全
2014/04/24 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
教师工作决心书
2015/02/04 职场文书