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


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中open()函数指定文件打开方式的用法
Jun 04 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
pyhton列表转换为数组的实例
Apr 04 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
如何使用Python脚本实现文件拷贝
Nov 20 Python
3种适用于Python的疯狂秘密武器及原因解析
Apr 29 Python
python爬虫分布式获取数据的实例方法
Nov 26 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
关于Numpy之repeat、tile的用法总结
Jun 02 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
phalcon框架使用指南
2016/02/23 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
简单了解django索引的相关知识
2019/07/17 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
学习Python需要哪些工具
2020/09/04 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
大学生学习自我评价
2014/01/13 职场文书
电子商务专业求职信
2014/07/10 职场文书
优秀员工事迹材料
2014/12/20 职场文书
打架检讨书
2015/01/27 职场文书
英语辞职信范文
2015/02/28 职场文书
网络妈妈观后感
2015/06/08 职场文书
消防安全主题班会
2015/08/12 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书