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


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进阶教程之文本文件的读取和写入
Aug 29 Python
简单的Python抓taobao图片爬虫
Oct 26 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
在双python下设置python3为默认的方法
Oct 31 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
softmax及python实现过程解析
Sep 30 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
python如何判断IP地址合法性
Apr 05 Python
Python如何识别银行卡卡号?
Jun 10 Python
用Python创建简易网站图文教程
Jun 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
生成缩略图
2006/10/09 PHP
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
php实现httpclient类示例
2014/04/08 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
js调用flash的效果代码
2008/04/26 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
使用js画图之饼图
2015/01/12 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
跟老齐学Python之编写类之三子类
2014/10/11 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Sublime开发python程序的示例代码
2018/01/24 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
信用社实习人员自我鉴定
2013/09/20 职场文书
早餐连锁店计划书
2014/01/08 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
交通事故被告答辩状
2015/05/22 职场文书
开业庆典致辞
2015/08/01 职场文书
小学新课改心得体会
2016/01/22 职场文书