Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新加生成文件夹结构-json #22

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

H1DDENADM1N
Copy link
Collaborator

@H1DDENADM1N H1DDENADM1N commented Jan 10, 2024

Inspired By tree_maker
注意,输出 json 时非常慢,请耐心等待。运行时无界面,但任务管理器是能看到没卡死的,不要多开。

复制且输出多选
输出json效果

https://github.com/H1DDENADM1N/Tree_This_Folder/releases/download/v1.9/Tree_This_Folder_v1.9_PyQt6__Portable_20240110.7z

@betasecond
Copy link
Collaborator

content是啥意思呢,需要把文件内容也放进去吗

@H1DDENADM1N
Copy link
Collaborator Author

content是啥意思呢,需要把文件内容也放进去吗

content是一个字段,用于存储文件内容。这个字段的内容是经过压缩和编码处理的,具体处理步骤如下:

文件内容首先被压缩,使用了zlib库的zlib.compress函数。
压缩后的内容再经过Base64编码,使用了base64.b64encode函数。

所以,content字段包含了经过压缩和编码的文件内容,以字符串的形式存储在JSON树的节点中。如果需要访问文件的原始内容,您可以使用相应的解码方法,将Base64编码和压缩后的内容还原成原始文件内容。在代码中,decompress_content函数可以用于解压缩并解码content字段的内容,以获得原始文件内容。

下面是一个用于解码content字段的脚本,它可以将经过压缩和Base64编码的内容还原为原始文件内容。这个脚本使用了zlib库进行解压缩和base64库进行解码:

import base64
import zlib

def decode_content(encoded_content):
    try:
        # 解码Base64
        decoded_data = base64.b64decode(encoded_content.encode("utf-8"))
        # 解压缩
        decompressed_data = zlib.decompress(decoded_data)
        # 返回解码后的内容
        return decompressed_data.decode("utf-8")
    except Exception as e:
        print(f"解码出错: {e}")
        return None

# 示例用法
encoded_content = "The content CODE"
decoded_content = decode_content(encoded_content)

if decoded_content is not None:
    print("解码后的内容:")
    print(decoded_content)
else:
    print("解码失败")

另外,tree_maker 有提供tree_maker.exe -c <input_file.json> # Create tree (folders and files) 根据json生成目录结构和文件。

@betasecond
Copy link
Collaborator

带文件内容,还是压成base64,对于gpt或者人的理解没有帮助吧,可能还会将生成的文件夹结构文件的大小提升到不可接受
只是提供内容值的hash来验证完整性感觉会更实际

@H1DDENADM1N
Copy link
Collaborator Author

带文件内容,还是压成base64,对于gpt或者人的理解没有帮助吧,可能还会将生成的文件夹结构文件的大小提升到不可接受

只是提供内容值的hash来验证完整性感觉会更实际

只提供hash就无法 tree_maker.exe -c <input_file.json> 还原了呀

Repository owner deleted a comment Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants