ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

生成百度网盘文件目录_艾孜尔江撰稿

2021-01-16 10:57:04  阅读:188  来源: 互联网

标签:文件目录 百度网 艾孜尔江 db dict file path root select


  1. 在装有百度网盘客户端并曾经至少登录过一次网盘账号的本机上找到一个名为 BaiduYunCacheFileV0.db 的文件;
  2. 使用Python脚本撰写如下代码:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from tkinter import *
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
from tkinter.ttk import *
import sqlite3


def select_db_file():
    db_file = askopenfilename(
        title="请选择BaiduYunCacheFileV0.db文件", filetypes=[("db", "*.db")]
    )
    db.set(db_file)


def select_save_file():
    save_file = asksaveasfilename(filetypes=[("文件", "*.txt")])
    f.set(save_file + ".txt")


def write_file(file_dict, f, item, gap=""):
    if item == "/":
        f.write("━" + "/" + "\n")
        for i in file_dict["/"]:
            f.write("┣" + "━" + i + "\n")
            i = item + i + "/"
            if i in file_dict:
                write_file(file_dict, f, i, gap="┣━")
    else:
        gap = "┃  " + gap
        for i in file_dict[item]:
            f.write(gap + i + "\n")
            i = item + i + "/"
            if i in file_dict:
                write_file(file_dict, f, i, gap)


def create_baiduyun_filelist():
    file_dict = {}
    conn = sqlite3.connect(db.get())
    cursor = conn.cursor()
    cursor.execute("select * from cache_file")
    while True:
        value = cursor.fetchone()
        if not value:
            break
        path = value[2]
        name = value[3]
        size = value[4]
        isdir = value[6]
        if path not in file_dict:
            file_dict[path] = []
            file_dict[path].append(name)
        else:
            file_dict[path].append(name)
    with open(f.get(), "w", encoding="utf-8") as fp:
        write_file(file_dict, fp, "/")


root = Tk()
root.title("百度云文件列表生成工具")
db_select = Button(root, text=" 选择DB文件 ", command=select_db_file)
db_select.grid(row=1, column=1, sticky=W, padx=(2, 0), pady=(2, 0))
db = StringVar()
db_path = Entry(root, width=80, textvariable=db)
db_path["state"] = "readonly"
db_path.grid(row=1, column=2, padx=3, pady=3, sticky=W + E)
save_path = Button(root, text="选择保存地址", command=select_save_file)
save_path.grid(row=2, column=1, sticky=W, padx=(2, 0), pady=(2, 0))
f = StringVar()
file_path = Entry(root, width=80, textvariable=f)
file_path["state"] = "readonly"
file_path.grid(row=2, column=2, padx=3, pady=3, sticky=W + E)
create_btn = Button(root, text="生成文件列表", command=create_baiduyun_filelist)
create_btn.grid(row=3, column=1, columnspan=2, pady=(0, 2))
root.columnconfigure(2, weight=1)
root.mainloop()

  1. 将之前所找到的 *.db 文件放入第一个路径中,并选择生成的目录保存路径,点击确定,即可。




作者:艾孜尔江

标签:文件目录,百度网,艾孜尔江,db,dict,file,path,root,select
来源: https://blog.csdn.net/weixin_43867242/article/details/112693424

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有