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


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 相关文章推荐
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
简单了解django文件下载方式
Feb 10 Python
Python 去除字符串中指定字符串
Mar 05 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
Django如何使用jwt获取用户信息
Apr 21 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
Python字符串函数strip()原理及用法详解
Jul 23 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连接数据库代码应用分析
2011/05/29 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
浅析javascript闭包 实例分析
2010/12/25 Javascript
简单实例处理url特殊符号&处理(2种方法)
2013/04/02 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
python使用super()出现错误解决办法
2017/08/14 Python
简单实现python数独游戏
2018/03/30 Python
Django基于客户端下载文件实现方法
2020/04/21 Python
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
个人求职信范文分享
2014/01/06 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
四年级评语大全
2014/04/21 职场文书
小学评语大全
2014/04/22 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
优秀党支部申报材料
2014/12/24 职场文书
法定代表人身份证明书
2015/06/18 职场文书
python模板入门教程之flask Jinja
2022/04/11 Python
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技