- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 repr()
获取 Python 编码的字符串文字(我可以将其粘贴到某些源代码中),但我更喜欢带有真正换行符的三引号字符串比 \n
转义序列。
我可以对字符串进行后处理,将 \n
转换回换行符并添加更多引号,但是如果 \\n
在源代码中,那么我不想匹配它。
最简单的方法是什么?
<小时/>输入示例:
foo💩
bar
或者作为 Python 字符串:
'foo💩\nbar'
期望的输出:
'''foo\xf0\x9f\x92\xa9
bar'''
三重单引号或三重双引号很好,但我确实希望它像这样分成多行。
<小时/>到目前为止我所拥有的:
#!/usr/bin/env python
import sys
import re
with open(sys.argv[1], 'r+') as f:
data = f.read()
f.seek(0)
out = "''" + re.sub(r"\\n", '\n', repr(data)) + "''"
f.write(out)
f.truncate()
我仍在尝试找出正则表达式以避免转换转义的 \n
。
目标是,如果我将其粘贴回 Python 源文件中,我将得到与读入的内容完全相同的内容。
<小时/>我使用的是 Python 2.7.14
最佳答案
如何splitlines
它并分别编码每一行:
s = 'foo💩\nbar'
r = "'''" + '\n'.join(repr(x)[1:-1] for x in s.splitlines()) + "'''"
assert eval(r) == s
如果您使用的是 python2 并且输入是 unicode,则 repr[2:-1]
也可以删除前导 u
。这同样适用于 py3 和字节输入。
关于Python repr 字符串带真正的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55408042/
在交互式 Python 提示符上,当我没有将表达式 foo 的输出绑定(bind)到名称时,Python 将写入 builtins.repr(foo) 的输出> 到终端。 在较新版本的 Python
我目前正在编写一个 Vulkan 渲染器,我刚刚意识到我应该只接受 repr(C) 类型,但据我所知,没有办法在编译时实际检查它。 struct Vertex { x: f32, y:
是否有等效的 Pythons repr Scala 中的函数? 即一个函数,你可以给任何 scala 对象,它会产生一个有效的 scala 代码的对象的字符串表示。 例如: val l = List(
需要字符串在打印输出中显示 \n,且不带尾随 + 前导 '。目前在输入上使用repr(打开+读取.txt),所以我想知道删除'以进行正确索引/搜索的最佳方法是什么? repr('s')[1:-1] r
我想使用 repr() 获取 Python 编码的字符串文字(我可以将其粘贴到某些源代码中),但我更喜欢带有真正换行符的三引号字符串比 \n 转义序列。 我可以对字符串进行后处理,将 \n 转换回换行
我正在用 Python 处理一些文本解析,为此,对我要解析的每个字符串应用 repr() 函数对我来说很好,但在解析之后,我需要将一些已解析的子字符串转换回来到以前的表示,因为我想打印它们但我无法做到
所以我有一门类(class),我设置了类似的内容 class Piece: def __init__(): self.txt = "\u2665" # some met
作为Python 2 documentation on __repr__ 状态: If at all possible, this (i.e. __repr__) should look like a
我一直在阅读 repr在 Python 中。我想知道 repr 输出的应用程序是什么是。例如 class A: pass repr(A) ='' b=A() repr(b) = '' 什么时候会对
我正在使用一个小的 Python 脚本来生成一些将在 C 头文件中使用的二进制数据。 此数据应声明为 char[],如果可以将其编码为字符串(当它们不在 ASCII 可打印范围内时使用相关的转义序列)
在python中,repr和反引号`(1的左边)有区别吗? 用于演示: class A(object): def __repr__(self): return 'repr A'
我有一个节点类以十六进制和 HSV 形式保存 RGB 数据。我将使用它以各种方式对颜色进行排序,并且希望 HSV 元组保持浮点形式以进行比较,而不是每次使用都从字符串转换。有没有一种方法可以指定数据类
a = b'\x00\x01' ra = repr(a) # ra == "b'\\x00\\x01'" assert invert_repr(ra) == a invert_repr 的正确形式
我需要一个结构被视为 16 个无符号整数的数组,并且传递 CreditCard 类型将是透明的,因为我将传递一个 16 个无符号整数的数组。 如何使这段代码按照设计的方式工作? use std::fm
我有这个 C 代码: typedef void (*f_t)(int a); struct Foo { f_t f; }; extern void f(struct Foo *); b
我有一个结构: struct A { names: Vec, } 还有另一个结构: #[repr(C)] struct B { pub a: A, } 这是否使 A 也具有 repr(
除最后一部分外,我的代码运行完美。我想用 repr 函数重新创建对象,但它显然不起作用。我在这里和网上都试过了,但我还是很困惑。有什么方法可以做到吗?如果可以,语法是什么? class Modulo(
这个问题在这里已经有了答案: Convert "\x" escaped string into readable string in python (4 个答案) 关闭 7 个月前。 我有这个 st
我想要一种简单的方法来获取 repr() 之类的字典字符串按键排序。 my_print(dict(a=1, b=2, c=3)) -> "{'a': 1, 'b': 2, 'c': 3}" 我的解决方
我正在尝试在 Java 中完全模拟 Python 的 repr;这包括尽可能使用单引号。 Python 使用什么方法来确定它应该发出哪种引号? 编辑:我正在寻找一些实际代码,位于 Python 网络中
我是一名优秀的程序员,十分优秀!