You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本每次运行生成不重复命名的文本备份文件问题

解决方案:生成不重复的网页内容备份文件

核心改进方向

  • 直接读取剪贴板内容,无需依赖记事本和pyautogui模拟操作,流程更高效稳定
  • 生成带时间戳或递增序号的唯一文件名,彻底避免覆盖旧文件

前置准备

先安装pyperclip模块(专门用于读写剪贴板,比pyautogui模拟按键更可靠):

pip install pyperclip

方案1:带日期时间戳的文件名(推荐)

这种方式生成的文件名几乎不会重复,格式类似 Overload_20240520_143508.txt,代码简单直接:

import pyperclip
import datetime
import os

# 获取剪贴板中的网页内容
clipboard_content = pyperclip.paste()

# 生成带日期时间的文件名
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"Overload_{timestamp}.txt"

# 写入文件
with open(filename, 'w', encoding='utf-8') as f:
    f.write(clipboard_content)

print(f"文件已保存:{filename}")

方案2:递增序号的文件名(如Overload(1).txt)

如果需要按序号排序备份,可以检查已存在的文件,自动递增序号:

import pyperclip
import os

# 获取剪贴板内容
clipboard_content = pyperclip.paste()

base_name = "Overload"
extension = ".txt"
file_number = 1

# 循环找到第一个未被使用的序号
while True:
    filename = f"{base_name}({file_number}){extension}"
    if not os.path.exists(filename):
        break
    file_number += 1

# 写入文件
with open(filename, 'w', encoding='utf-8') as f:
    f.write(clipboard_content)

print(f"文件已保存:{filename}")

原有代码的问题说明

  • 用open('Overload.txt', 'x')仅创建文件,并未将剪贴板内容写入文件;pyautogui.hotkey('ctrl', 'v')是向当前活跃窗口粘贴,和打开的文件对象完全无关
  • 模拟记事本操作依赖窗口激活和固定延迟,稳定性差,一旦系统卡顿就会触发错误操作

内容的提问来源于stack exchange,提问作者vee2gee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:34:58