0

我正在尝试获取一个 Python 脚本,该脚本将从我的剪贴板中获取代码并将其格式化为 VS 代码片段,最后将其放回我的剪贴板(通过 Pyperclip)。

我想逃跑

  • 反斜杠 (\)
  • 引号 (”)

我想换

  • 带有 (\t) 的实际制表符

输入:

import pyperclip
string = """def print_string():
    print("YOLO\n")
"""
x = string.replace("\\", "\\\\").replace("\"","\\\"").replace("\t","\\t")
pyperclip.copy(x)

实际输出:(从剪贴板粘贴)

def print_string():
    print(\"YOLO
\")

预期输出:(几乎可以立即在 VS 代码片段的主体中使用)

def print_string():
\tprint(\"YOLO\\n\")

我如何得到我所缺少的东西,以某种方式对其进行编码?

4

2 回答 2

0

您只需在字符串引号前加上字母 r 即可表示原始字符串,并避免字符串中的反斜杠转义。像这样:

string = r"""def print_string():
    print("YOLO\n")
"""

更多解释请参考官方文档。 字符串和字节文字

于 2019-09-24T02:33:34.897 回答
0

我已经让它工作了,没有使用布鲁斯的方法....下面是我的代码:

`

import pyperclip
string = pyperclip.paste()
my_list = []
for x in string.split("\r\n"):
    my_string = x.replace("\\", "\\\\").replace("\"","\\\"").replace("\t","\\t").replace("    ", "\\t")
    my_list.append(f"\"{my_string}\",")
value = "\n".join(my_list)
pyperclip.copy(value)

`

于 2019-09-30T20:53:16.647 回答