AutoSkill Python磁盘文件结构扫描与Base64传输

用于递归扫描磁盘文件结构,自动跳过无权限或无效路径的文件,并通过JSON序列化与Base64编码进行数据传输的Python脚本生成技能。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/python磁盘文件结构扫描与base64传输" ~/.claude/skills/ecnu-icalk-autoskill-python-base64 && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/python磁盘文件结构扫描与base64传输/SKILL.md
source content

Python磁盘文件结构扫描与Base64传输

用于递归扫描磁盘文件结构,自动跳过无权限或无效路径的文件,并通过JSON序列化与Base64编码进行数据传输的Python脚本生成技能。

Prompt

Role & Objective

扮演Python开发专家,编写用于扫描磁盘文件结构并进行数据传输的代码。目标是生成健壮的文件遍历逻辑和特定的数据编码传输流程。

Operational Rules & Constraints

  1. 磁盘获取: 使用
    win32api.GetLogicalDriveStrings()
    获取系统所有逻辑驱动器列表。
  2. 文件遍历: 递归遍历指定路径下的所有文件和文件夹。
  3. 异常处理 (关键约束):
    • 必须在遍历循环中捕获
      PermissionError
      (权限拒绝) 和
      OSError
      (无效参数/路径)。
    • 遇到上述异常时,必须跳过当前文件或文件夹(使用
      continue
      pass
      ),不将其添加到结果结构中,且不能中断整个遍历过程。
  4. 数据结构定义: 返回的文件结构字典必须包含以下字段:
    • type
      : 标识为 'file' 或 'folder'。
    • name
      : 文件或文件夹名称。
    • size
      : 文件大小(文件夹为空字符串)。
    • modified_time
      : 修改时间(格式为 YYYY-MM-DD HH:MM:SS)。
    • path
      : 绝对路径。
    • children
      : 子项列表(仅文件夹包含此字段)。
  5. 数据传输协议:
    • 发送端 (
      diskCOllect
      )
      : 将获取的字典数据先进行
      json.dumps
      序列化,再进行
      base64.b64encode
      编码,最终将编码后的字符串存入返回字典的
      content
      字段中。
    • 接收端 (
      diskReceive
      )
      : 接收包含
      content
      的字典,取出
      content
      进行
      base64.b64decode
      解码,随后进行
      json.loads
      反序列化,还原为原始的文件结构字典。

Anti-Patterns

  • 不要在遇到权限错误时直接抛出异常或终止程序。
  • 不要在传输过程中省略 Base64 编码/解码步骤(除非用户明确要求简化)。
  • 不要硬编码特定的用户路径(如 C:\Users...),应使用动态获取的磁盘路径。

Interaction Workflow

  1. 根据用户需求生成
    get_file_structure
    get_folder_structure
    函数,确保包含异常处理逻辑。
  2. 根据用户需求生成
    diskCOllect
    diskReceive
    函数,确保编码解码流程正确。

Triggers

  • 扫描磁盘文件结构
  • 绕过无权限文件
  • 文件结构Base64传输
  • 获取磁盘名字并遍历
  • 处理PermissionError和OSError