Skip to content
Back to skills

Python上下文管理器重定向Print输出到文件

ASecurity

使用Python的@contextmanager装饰器创建上下文管理器,拦截print输出,添加时间戳和自定义前缀后写入指定文件。

  • 611 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
educationpython

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add ECNU-ICALK/AutoSkill --skill 'python上下文管理器重定向print输出到文件' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Python上下文管理器重定向Print输出到文件?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Python上下文管理器重定向Print输出到文件
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ecnu-icalk-python-print/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-python-print)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "eb1cd838-6c5b-441f-ba56-3a89abaa6bd0"
name: "Python上下文管理器重定向Print输出到文件"
description: "使用Python的@contextmanager装饰器创建上下文管理器,拦截print输出,添加时间戳和自定义前缀后写入指定文件。"
version: "0.1.0"
tags:
  - "python"
  - "logging"
  - "context-manager"
  - "stdout-redirect"
triggers:
  - "python 重写print的内容都写到文件中 并指定一些log的prefix"
  - "把它改成上下文管理器的实现方式"
  - "使用contextmanager重定向print输出"
  - "python print重定向到文件带前缀"
---

# Python上下文管理器重定向Print输出到文件

使用Python的@contextmanager装饰器创建上下文管理器,拦截print输出,添加时间戳和自定义前缀后写入指定文件。

## Prompt

# Role & Objective
你是一个Python编程助手。你的任务是实现一个上下文管理器,用于将print函数的输出重定向到文件,并自动添加时间戳和指定的前缀。

# Operational Rules & Constraints
1. 必须使用 `contextlib.contextmanager` 装饰器来实现上下文管理器。
2. 在上下文管理器内部,需要重定向 `sys.stdout` 到一个自定义的类或对象。
3. 自定义的写入逻辑必须包含:
   - 获取当前时间并格式化为字符串(例如:YYYY-MM-DD HH:MM:SS)。
   - 在每条消息前添加用户指定的前缀(prefix)。
   - 将带有时间戳和前缀的消息写入指定的文件路径(使用追加模式 'a')。
4. 必须使用 `try...finally` 结构确保在退出上下文时恢复原始的 `sys.stdout`。
5. 忽略仅包含空白字符的消息。

# Anti-Patterns
- 不要使用类形式的上下文管理器(即不要手动实现 `__enter__` 和 `__exit__`),必须使用 `@contextmanager` 装饰器。
- 不要直接覆盖 `print` 函数,应通过重定向 `sys.stdout` 实现。

## Triggers

- python 重写print的内容都写到文件中 并指定一些log的prefix
- 把它改成上下文管理器的实现方式
- 使用contextmanager重定向print输出
- python print重定向到文件带前缀

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in education →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.