¥
立即购买

Python脚本头文件生成器

0 浏览
0 试用
0 购买
Dec 10, 2025更新

本提示词专为Python开发者设计,能够根据脚本功能需求自动生成专业规范的Python脚本头文件。生成的脚本头文件包含完整的元数据信息,如脚本描述、作者信息、版本历史、依赖关系等,确保代码文档的规范性和可维护性。通过结构化的工作流程,能够准确捕捉脚本的核心功能和业务场景,输出符合行业标准的代码文档格式,提升开发效率和团队协作质量。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# 脚本名称: log_archiver.py
# 脚本类型: 自动化工具 (日志归档/加密/上传/清理/通知)
# 版本信息: 0.1.0
# 创建日期: 2025-12-10
# 作者: 周宁
# 邮箱: zhou.ning@example.com
# 电话: 137****1234  # 为保护隐私已做脱敏
# Python版本: >= 3.9
# 编码: UTF-8
# 许可协议: 按项目策略设置 (例如: MIT/Apache-2.0/内部)
# -----------------------------------------------------------------------------
# 功能概述:
# - 定时扫描本地与远程目录,匹配包含/排除规则收集项目日志;
# - 按规则打包(如 tar.gz/zip)并以 AES-256-GCM 加密;
# - 将归档上传至归档存储(本地/S3/SFTP等)并生成操作报告;
# - 基于保留策略(按天/按版本)清理过期文件;
# - 支持干跑(dry-run)、失败重试(指数退避)与详细/结构化日志;
# - 支持邮件通知发送执行摘要与报告附件/链接。
# -----------------------------------------------------------------------------
# 依赖与可选组件:
# - 基础: pathlib, logging, tarfile/zipfile, hashlib, concurrent.futures
# - 加密(必选其一):
#     cryptography>=41.0  # AES-256-GCM 对称加密
# - 远程访问(可选按需):
#     paramiko>=3.3       # SFTP
#     boto3>=1.34         # S3/兼容对象存储
# - 配置与工具(可选):
#     pyyaml>=6.0         # YAML 配置
#     requests>=2.31      # Webhook/HTTP 回调
#     click>=8.1          # 友好 CLI (或使用 argparse)
# - 安装: pip install -r requirements.txt
# -----------------------------------------------------------------------------
# 运行环境与计划:
# - OS: Linux/macOS/Windows
# - 调度: 建议使用 cron/systemd timers/企业任务编排执行本脚本
# -----------------------------------------------------------------------------
# 配置与敏感信息:
# - 配置文件: --config 指定 (默认: ./config/log_archiver.yaml)
# - 环境变量(示例):
#     ARCHIVE_PASSPHRASE     # AES-256-GCM 密码短语
#     S3_ENDPOINT, S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_KEY
#     SFTP_HOST, SFTP_PORT, SFTP_USER, SFTP_PASSWORD 或 SFTP_KEY
#     SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD
# - 建议将凭据置于安全的密管(如 KMS/HashiCorp Vault)并以注入方式加载
# -----------------------------------------------------------------------------
# 命令行参数(摘要):
#   --local-dirs DIRS          逗号分隔本地目录
#   --remote-dirs DIRS         逗号分隔远程目录(与 --remote-protocol 联用)
#   --remote-protocol {sftp,s3,file}
#   --include PATTERNS         逗号分隔包含模式(如: *.log,*.gz)
#   --exclude PATTERNS         逗号分隔排除模式
#   --archive-format {tar.gz,zip}
#   --encrypt {none,aes256-gcm}
#   --passphrase-env NAME      读取密语的环境变量名(默认: ARCHIVE_PASSPHRASE)
#   --retention-days N         按天保留
#   --retention-versions N     每键/前缀保留最新 N 版
#   --dry-run                  干跑(不改动数据)
#   --max-retries N            最大重试次数(默认: 3)
#   --retry-backoff SEC        重试基准退避秒(默认: 2)
#   --report-path PATH         输出 JSON/HTML 报告路径
#   --email-to ADDRS           收件人(逗号分隔)
#   --email-from ADDR          发件人
#   --log-level {DEBUG,INFO,WARNING,ERROR}
#   --config PATH              配置文件路径
# -----------------------------------------------------------------------------
# 处理流程(简要):
# 1) 收集: 扫描本地/远程目录, 依据 include/exclude 归集日志候选;
# 2) 打包: 按项目/日期/大小切分策略创建归档(支持并发与流式);
# 3) 加密: 使用 AES-256-GCM 对归档进行对称加密(密钥来自环境变量/密管);
# 4) 上传: 将加密归档上传到目标存储(S3/SFTP/本地归档盘);
# 5) 清理: 基于保留策略清理本地/远端过期文件;
# 6) 报告: 生成操作报告(JSON/HTML),发送邮件通知(可附报告/链接);
# 7) 稳健性: 干跑、带指数退避的重试、结构化与详细日志、可观测指标。
# -----------------------------------------------------------------------------
# 退出码:
#   0: 成功
#   1: 参数/配置校验失败
#   2: 部分失败(已记录并上报)
#   3: 致命错误(未完成关键步骤)
# -----------------------------------------------------------------------------
# 使用示例:
#   python log_archiver.py \
#     --local-dirs /var/log/app1,/var/log/app2 \
#     --include "*.log,*.gz" --exclude "*.tmp" \
#     --archive-format tar.gz --encrypt aes256-gcm \
#     --retention-days 30 --max-retries 3 --retry-backoff 2 \
#     --report-path ./reports/last_run.json \
#     --email-to ops@example.com --email-from noreply@example.com \
#     --log-level INFO
#
#   # cron(每日 02:00 执行):
#   # 0 2 * * * /usr/bin/python3 /opt/tools/log_archiver.py --config /etc/log_archiver.yaml >> /var/log/log_archiver.log 2>&1
# -----------------------------------------------------------------------------
# 注意:
# - 勿在代码/配置中硬编码凭据;使用环境变量或密钥管理服务;
# - 确保主机时间同步以避免保留策略误删/漏删;
# - 大文件建议启用分段/分片上传并校验完整性(ETag/MD5);
# - S3 类存储列举具有最终一致性,清理与重试需做好幂等;
# - 干跑模式仅记录将执行的操作,不会产生任何数据变更;
# - 详尽实现、参数解析与业务规则请见模块文档与配置样例。
# -----------------------------------------------------------------------------

功能描述摘要

  • 自动扫描本地与远程目录,按包含/排除规则收集日志,按项目/日期打包归档并以 AES-256-GCM 加密。
  • 将加密归档上传至归档存储(S3/SFTP/本地),依据保留策略定期清理过期归档。
  • 生成执行报告(JSON/HTML)并通过邮件通知,支持干跑、重试与详细日志,适配企业级定时任务运行。

关键参数说明

  • --local-dirs/--remote-dirs/--remote-protocol: 指定数据源与访问协议。
  • --include/--exclude: 文件匹配过滤规则,支持通配符。
  • --archive-format: 归档格式选择(推荐 tar.gz)。
  • --encrypt 与 --passphrase-env: 是否加密与密语来源环境变量名。
  • --retention-days/--retention-versions: 保留策略(时间与数量)。
  • --dry-run: 仅演练不落地,便于审查影响面。
  • --max-retries/--retry-backoff: 失败重试与退避策略。
  • --report-path/--email-to/--email-from: 报告输出与邮件通知配置。
  • --log-level: 日志粒度,生产建议 INFO 或更高。

使用注意事项

  • 优先使用环境变量/密钥管理加载凭据与密钥,避免泄露;本模板已对电话信息做脱敏。
  • 针对远端对象存储的“最终一致性”,清理与列举应采用幂等策略并记录校验信息。
  • 加密密语需轮换并限制权限;在干跑模式下不会读取或使用密语。
  • 生产环境建议通过 systemd/cron 编排执行,并将 stdout/stderr 汇总到统一日志系统。
  • 归档与上传可能占用大量 I/O 与网络带宽,建议设置限速/并发阈值并监控。
  • 在启用删除策略前务必先以干跑结合小范围测试验证匹配与保留规则正确性。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Text Classification Trainer — 文本分类训练脚本
======================================================================
用途
    面向生产与研究场景的一体化文本分类训练脚本。完成数据加载、中文分词与去噪、
    样本划分、特征工程、超参网格搜索/随机搜索、早停与模型评估;自动导出最佳模型、
    指标报告与可复现实验配置;支持一键复训与推断示例。

适用场景
    - 企业级NLP分类任务(舆情监控、工单路由、意图识别、内容审核等)
    - 学术/教学演示的标准化ML训练流程
    - 开源项目的基线文本分类器

核心特性
    - 数据读取:CSV/TSV/JSONL;指定文本列与标签列;支持外部划分或分层随机划分
    - 文本预处理:中文分词(jieba)、大小写与全/半角规范化、去标点/去噪、停用词过滤、长度裁剪
    - 特征工程:TF-IDF(默认,支持 n-gram/子词)、可选 HashingVectorizer
    - 模型族:
        * 线性基线:LogisticRegression、LinearSVC、SGDClassifier(可早停)
        * 梯度提升:XGBoostClassifier(可早停,可选安装)
    - 超参搜索:GridSearchCV 或 RandomizedSearchCV;支持并行与交叉验证
    - 早停策略:
        * SGDClassifier(early_stopping=True)
        * XGBoost(early_stopping_rounds, eval_set,支持 GPU 加速)
    - 评估与报告:准确率、精确率、召回率、F1(微/宏/加权)、ROC-AUC(二分类)、混淆矩阵、
      classification_report;保存学习曲线和混淆矩阵图(可选)
    - 产出工件:
        * 模型:best_model.joblib(含分类器)
        * 向量器/标签器:vectorizer.joblib, label_encoder.joblib
        * 指标与报告:metrics.json, report.txt, confusion_matrix.png(可选)
        * 复现配置:config.yaml(含随机种子、预处理、搜索空间、最佳超参)
        * 预测样例:predictions.csv(验证集或测试集)
        * 日志:training.log
    - 复现与一键复训:--resume-config 指向历史 config.yaml 即可重跑
    - 推断示例:infer 子命令对单条或文件批量文本进行预测

输入数据约定
    - 至少包含:
        * 文本列:--text-col 指定(默认 text)
        * 标签列:--label-col 指定(默认 label)
    - 支持文件类型:.csv(默认逗号分隔)、.tsv、.jsonl
    - 可选:外部分割文件(train/valid 列或独立文件),或通过 --val-ratio 自动分层划分

命令行用法示例
    1) 基础训练(自动分层划分 + 网格搜索 + 保存最佳模型):
        python train_text_cls.py train \
          --data ./data/labeled.csv \
          --text-col text --label-col label \
          --val-ratio 0.2 --random-state 42 \
          --model xgboost \
          --search grid \
          --grid '{"max_depth":[4,6], "learning_rate":[0.05,0.1], "n_estimators":[200,400]}' \
          --early-stopping-rounds 20 \
          --metric f1_macro \
          --outdir ./outputs/run_$(date +%Y%m%d_%H%M%S)

    2) 使用 SGDClassifier(内置早停)+ 随机搜索:
        python train_text_cls.py train \
          --data ./data/labeled.csv \
          --model sgd --search random --n-iter 30 \
          --metric f1_weighted --random-state 123 \
          --outdir ./outputs/sgd_run

    3) 一键复训(使用历史 config.yaml):
        python train_text_cls.py retrain --resume-config ./outputs/run_xxx/config.yaml

    4) 推断(单条文本):
        python train_text_cls.py infer \
          --model-path ./outputs/run_xxx/best_model.joblib \
          --vectorizer-path ./outputs/run_xxx/vectorizer.joblib \
          --label-encoder-path ./outputs/run_xxx/label_encoder.joblib \
          --text "示例文本:这是一条需要分类的句子。"

    5) 批量推断(CSV 输入 -> 追加预测列):
        python train_text_cls.py infer \
          --model-path ./outputs/run_xxx/best_model.joblib \
          --vectorizer-path ./outputs/run_xxx/vectorizer.joblib \
          --label-encoder-path ./outputs/run_xxx/label_encoder.joblib \
          --data ./data/unlabeled.csv --text-col text --output ./outputs/pred.csv

主要参数(节选)
    - 模式:
        * 子命令:train | retrain | infer
    - 数据与列:
        * --data              训练/推断数据路径(CSV/TSV/JSONL)
        * --text-col          文本列名(默认:text)
        * --label-col         标签列名(默认:label,推断时可省略)
        * --val-ratio         验证集比例(默认:0.2),与 --cv 互斥
        * --cv                交叉验证折数(如 5),与 --val-ratio 互斥
        * --sep               分隔符(默认:,;TSV 自动识别)
        * --encoding          文件编码(默认:utf-8)
    - 预处理:
        * --lang              语言(zh|en,默认:zh)
        * --lowercase         转小写(默认:开启)
        * --normalize-width   全/半角规范化(默认:开启)
        * --rm-punct          去标点(默认:开启)
        * --rm-stopwords      去停用词(默认:开启)
        * --max-len           最大分词数(默认:不裁剪)
    - 特征工程:
        * --vectorizer        tfidf | hashing(默认:tfidf)
        * --ngram             n-gram 上界(默认:1;如 2 表示 1-2gram)
        * --max-features      词表上限(默认:50000)
    - 模型与搜索:
        * --model             logreg | linearsvc | sgd | xgboost(默认:logreg)
        * --search            grid | random | none(默认:grid)
        * --grid              网格(JSON 字符串)
        * --n-iter            随机搜索迭代次数(默认:30)
        * --n-jobs            并行线程(默认:-1 使用全部)
        * --early-stopping-rounds  早停轮数(xgboost 有效)
    - 评估与输出:
        * --metric            优化目标(accuracy|f1_macro|f1_weighted 等)
        * --outdir            输出目录
        * --save-proba        保存预测概率(如需绘制 ROC)
    - 复现:
        * --random-state      随机种子(默认:42)
        * --resume-config     复现配置路径(retrain 模式)
    - 推断:
        * --model-path        训练产出的模型路径
        * --vectorizer-path   向量器路径
        * --label-encoder-path 标签编码器路径
        * --output            推断输出文件(CSV)

依赖与环境
    - 运行环境:
        * Python 3.9–3.12,Linux/macOS/Windows(x86_64)
        * 可选 GPU(XGBoost 支持 'gpu_hist')
    - 必需依赖:
        * pandas>=1.5, numpy>=1.22, scipy>=1.8
        * scikit-learn>=1.2
        * jieba>=0.42  (中文分词)
        * pyyaml>=6.0  (导出 config.yaml)
        * joblib>=1.2  (模型持久化)
        * tqdm>=4.64   (进度条)
    - 可选依赖:
        * xgboost>=1.7 (提升树 + 早停 + 可选 GPU)
    - 安装示例:
        pip install -U pandas numpy scipy scikit-learn jieba pyyaml joblib tqdm
        # 可选
        pip install -U xgboost

输出工件(默认约定)
    outdir/
      ├─ best_model.joblib
      ├─ vectorizer.joblib
      ├─ label_encoder.joblib
      ├─ metrics.json
      ├─ report.txt
      ├─ predictions.csv
      ├─ config.yaml
      └─ training.log

复现性与随机性
    - 固定 random_state,设置 Python/numpy 的随机种子,确保可复结果
    - 导出完整 config.yaml(含预处理、搜索空间、最佳超参、数据源摘要)
    - 可选记录依赖快照(pip freeze)至 requirements.txt(实现层处理)

性能与资源建议
    - 合理设置 --max-features 与 --ngram;避免 n-gram 过大导致内存膨胀
    - 并行搜索使用 --n-jobs,必要时通过 OMP_NUM_THREADS 控制线程
    - XGBoost 可通过 --model xgboost 并在内部选择树方法 'hist' 或 'gpu_hist'

异常与退出码
    - 0:成功
    - 2:参数错误(缺失必需参数、不合法组合)
    - 3:数据/文件 I/O 错误
    - 4:训练或搜索失败
    - 5:推断失败

日志
    - 训练过程写入 training.log,包括参数、数据摘要、评估指标、最佳超参与路径
    - 对敏感文本不做原文日志输出(仅记录统计与摘要)

作者与项目信息
    - 作者:王珂
    - 邮箱:ke.wang@example.com
    - GitHub:https://github.com/wangkedev

版本与许可
    - 版本:1.0.0
    - 创建日期:2025-12-10
    - Python:>=3.9
    - 许可协议:Apache-2.0

变更记录
    - 1.0.0:初始版本,支持分词去噪、网格/随机搜索、早停、评估与复现导出

"""
__title__ = "text_cls_trainer"
__description__ = "一体化文本分类训练脚本:预处理、划分、特征工程、超参搜索、早停、评估与可复现实验导出。"
__version__ = "1.0.0"
__author__ = "王珂"
__email__ = "ke.wang@example.com"
__url__ = "https://github.com/wangkedev"
__license__ = "Apache-2.0"
__status__ = "Production/Stable"  # 可选:Prototype | Development | Production/Stable

# 入口说明(示例):
# if __name__ == "__main__":
#     main()
#
# 注意:本头文件仅为脚本元信息与使用说明,具体实现请在主体代码中完成:
# - 参数解析(argparse/typer)
# - 预处理流水线(jieba/正则/停用词)
# - 特征工程(TF-IDF/HashingVectorizer)
# - 模型与搜索(sklearn / xgboost)
# - 早停逻辑(SGDClassifier / XGBoost)
# - 评估与导出(metrics.json/config.yaml/joblib)

功能描述摘要

  • 面向生产的文本分类训练脚本,覆盖从数据读取、中文分词和清洗、分层划分/交叉验证、TF-IDF/Hashing 特征工程,到网格/随机超参搜索、早停训练与多指标评估的完整流程。自动导出最佳模型、评估报告与 config.yaml 以保证实验可复现,并提供 retrain 与 infer 子命令实现一键复训与推断示例。

关键参数说明

  • 数据与列
    • --data: 训练/推断数据文件路径(CSV/TSV/JSONL)
    • --text-col / --label-col: 文本与标签列名(默认 text/label)
    • --val-ratio: 验证集比例(与 --cv 互斥)
    • --cv: 交叉验证折数(与 --val-ratio 互斥)
  • 预处理
    • --lang: 语言标识(zh/en);中文默认启用 jieba 分词
    • --lowercase/--normalize-width/--rm-punct/--rm-stopwords: 常见清洗选项
    • --max-len: 分词后的最大长度裁剪
  • 特征工程
    • --vectorizer: tfidf 或 hashing
    • --ngram: n-gram 上界
    • --max-features: 词表规模上限
  • 模型与搜索
    • --model: logreg | linearsvc | sgd | xgboost
    • --search: grid | random | none;--grid/--n-iter 配置搜索空间
    • --early-stopping-rounds: xgboost 早停轮数;sgd 内置 early_stopping
    • --n-jobs: 并行线程数
  • 评估与输出
    • --metric: 优化指标(如 f1_macro)
    • --outdir: 输出目录;保存模型、向量器、label 编码器、metrics、config 等
    • --save-proba: 是否保存预测概率
  • 复现与推断
    • --random-state: 随机种子
    • --resume-config: 指向历史 config.yaml 进行一键复训
    • --model-path/--vectorizer-path/--label-encoder-path: 推断所需工件路径
    • --output: 推断结果导出路径

使用注意事项

  • 数据质量
    • 确认文本列/标签列无大量缺失;类别极度不均衡时建议使用分层划分并关注宏平均 F1
    • 中文任务默认使用 jieba 分词;如需自定义分词或使用词典,请在实现层扩展
  • 资源与性能
    • 大规模 n-gram 或超大 --max-features 可能导致内存压力;请结合 --n-jobs 与 OMP_NUM_THREADS 控制并发
    • XGBoost 如使用 GPU,请确保正确安装支持 GPU 的版本并设置 tree_method=gpu_hist(实现层)
  • 早停配置
    • SGDClassifier 的 early_stopping 依赖验证分割;XGBoost 需提供 eval_set(实现层会从验证集自动注入)
  • 复现性
    • 固定 --random-state,并保留 config.yaml 与训练日志;跨平台/不同 BLAS 实现可能产生微小数值差异
  • 合规与隐私
    • 日志与报告不应包含原始敏感文本;建议仅输出统计信息与示例片段(如有必要,在实现层做脱敏)
  • 版本与兼容
    • 建议 Python≥3.9 与 scikit-learn≥1.2;不同版本在 API 与指标行为上可能有所差异
    • 可选依赖 xgboost 未安装时,请勿选择 --model xgboost 或在实现层做异常处理

示例详情

解决的问题

以“一次描述,自动成稿”的方式,帮助Python个人与团队快速生成专业、完整、可直接粘贴的脚本头文件;覆盖数据处理、自动化工具、服务脚本、模型训练等多种场景,统一文档风格,包含脚本用途、责任人与联系方式、变更记录、依赖与运行环境、示例用法与注意事项等核心信息;通过标准化与可读结构,显著提升评审通过率、交接速度与问题追溯效率,减少返工与沟通成本;助力团队沉淀可复用的文档规范,从试用即感知价值,到规模化提升组织效率与合规水平。

适用用户

企业研发团队负责人

以本提示词建立统一脚本文档标准,要求成员提交前自动生成头文件,缩短评审与联调时间,降低交接与合规风险。

数据工程师/数据分析师

为数据清洗、统计与报表脚本快速生成头文件,标注数据源、依赖与运行计划,便于排错与审计,减少夜班告警沟通。

自动化运维/DevOps工程师

为定时任务与巡检脚本生成清晰运行说明、环境与回滚提示,统一依赖版本,降低上线失败率与临时救火次数。

特征总结

一键生成规范脚本头文件,自动汇总描述、作者、版本与依赖,交付即清晰,减少沟通与回溯。
依据脚本用途与场景自动定制结构,区分数据处理、自动化、服务类等,避免千篇一律模板。
自动提炼核心功能与边界说明,明确输入输出、运行条件和限制,减少误用与二次沟通。
自动生成依赖清单与安装提示,团队新人即刻上手,环境一致不踩坑,缩短交付与部署时间。
内置版本记录与变更注释格式,支持持续迭代,历史可追溯,方便代码评审与合规验收。
自动输出使用示例与注意事项,新同事照着跑,外部协作少踩坑,降低支持与维护成本。
支持参数化输入,按项目规范定制字段与格式,一键复用到新脚本,批量提升交付一致性。
对齐企业与开源常见规范,自动校对措辞与术语,输出更专业,减少被审查退回的概率。
轻松融入既有流程,作为提交前置步骤,确保每个脚本都有可读、可交付且可追溯的门面。

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 547 tokens
- 4 个可调节参数
{ 脚本功能描述 } { 脚本类型 } { 作者信息 } { 输出格式 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59