恢復(fù)百度云盤本地誤刪的文件腳本(簡單方法)
今天被同步盤搞得焦頭爛額。
辛苦碼的代碼(除了重要的、備份過的)都被刪掉了……
當(dāng)時(shí)我就石化了。。。
隨后發(fā)現(xiàn)同步盤目錄有個(gè)delete目錄,里面還有manifest.xml,和一堆改了名的文件,
看到manifest.xml的內(nèi)容時(shí),瞬間覺得有救了,立馬開搞python
廢話不多說,直接上代碼:
#-*- coding:utf-8 -*-
from xml.etree import ElementTree
import os
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
def convertfile(cachePath,orgPath):
'''恢復(fù)文件'''
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改為需要恢復(fù)的manifest文件'''
mani_file=".\\.baohe.cache\\.delete\\20140412\\manifest.xml"
read_xml(open(mani_file).read())
本文件在Python2.7.6下正常,3.4貌似有問題(汗)
python可以在官網(wǎng)下載:https://www.python.org/downloads/
將本文件(假如叫做huifu.py)放在云同步盤的根目錄下,比如云同步盤在“d:\baiduyun\”,那么文件應(yīng)該在“d:\baiduyun\”下,最終是這樣的“d:\baiduyun\huifu.py”
千萬不要輕易從百度云上刪除已經(jīng)上傳的文件??!血淚教訓(xùn)。。。
以上這篇恢復(fù)百度云盤本地誤刪的文件腳本(簡單方法)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django實(shí)現(xiàn)快速分頁的方法實(shí)例
分頁是我們?nèi)粘i_發(fā)中必不可少的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Django如何實(shí)現(xiàn)快速分頁的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
Python?中?Pandas?文件操作和讀取?CSV?參數(shù)詳解
CSV?又稱逗號分隔值文件,是一種簡單的文件格式,以特定的結(jié)構(gòu)來排列表格數(shù)據(jù),這篇文章主要介紹了Python?之?Pandas?文件操作和讀取?CSV?參數(shù)詳解,需要的朋友可以參考下2023-03-03
Python實(shí)現(xiàn)不規(guī)則圖形填充的思路
這篇文章主要介紹了Python實(shí)現(xiàn)不規(guī)則圖形填充的思路,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
使用Plotly Dash進(jìn)行儀表板設(shè)計(jì)的步驟和技巧
Plotly Dash 是一個(gè)基于 Python 的開源框架,可以幫助你快速而靈活地構(gòu)建交互式儀表板,本文將介紹使用 Plotly Dash 創(chuàng)建儀表板的步驟和一些技巧,并附上代碼實(shí)例來演示每個(gè)步驟,需要的朋友可以參考下2024-05-05
python 爬蟲網(wǎng)頁登陸的簡單實(shí)現(xiàn)
這篇文章主要介紹了python 爬蟲網(wǎng)頁登陸的簡單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python使用socket向客戶端發(fā)送數(shù)據(jù)的方法
這篇文章主要介紹了python使用socket向客戶端發(fā)送數(shù)據(jù)的方法,涉及Python使用socket實(shí)現(xiàn)數(shù)據(jù)通信的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
eclipse創(chuàng)建python項(xiàng)目步驟詳解
在本篇內(nèi)容里小編給大家分享了關(guān)于eclipse創(chuàng)建python項(xiàng)目的具體步驟和方法,需要的朋友們跟著學(xué)習(xí)下。2019-05-05
python3實(shí)現(xiàn)名片管理系統(tǒng)(控制臺(tái)版)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)名片管理系統(tǒng)控制臺(tái)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11

