You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
import time
import sys
import os
import re
# pip3 install install pyperclip
sys . path . append ( os . path . abspath ( " SO_site-packages " ) )
import pyperclip # 引入模块
recent_value = " "
tmp_value = " " # 初始化( 应该也可以没有这一行, 感觉意义不大。但是对recent_value的初始化是必须的)
def add_dollars ( text ) :
pattern = r ' (?<! \ $) \ b([a-zA-Z0-9.+*/-]+) \ b(?! \ $) '
replace_text = r ' $ \ 1$ '
result = re . sub ( pattern , replace_text , text )
return result
while True :
tmp_value = pyperclip . paste ( ) # 读取剪切板复制的内容
if tmp_value != recent_value : # 如果检测到剪切板内容有改动,那么就进入文本的修改
recent_value = tmp_value
lines = recent_value . split ( ' \n ' )
changed = " ### 一、题目描述 \n "
flag = False
for line in lines :
if not flag :
line = add_dollars ( line )
line = line . replace ( " $ \r " , " $ " )
line = line . replace ( " $ \n " , " $ " )
if " 输入样例 " in line :
flag = True
line = line . replace ( " 输入格式 " , " **输入格式** " )
line = line . replace ( " 输出格式 " , " **输出格式** " )
line = line . replace ( " 数据范围 " , " **数据范围** " )
if " 输入样例 " in line :
line = " \r \n \r \n " + line . replace ( " 输入样例 " , " **输入样例** " )
line = line + " \r \n " + " ```cpp { .line-numbers} \r \n "
if " 输出样例 " in line :
line = " ``` \r \n " + line . replace ( " 输出样例 " , " **输出样例** " )
line = line + " \r \n " + " ```cpp { .line-numbers} \r \n "
changed = changed + line
changed = changed + " \n " + " ``` "
recent_value = changed
pyperclip . copy ( changed ) # 将修改后的文本写入系统剪切板中
print ( " \n Value changed: %s " % str ( changed ) ) # 输出已经去除换行符的文本
time . sleep ( 0.1 )