是否存在将This is a path
变成This\ is\ a\ path
的事情?
最好使用所有标准转义序列,例如\t
,\n
等。
解开事物很容易:
print("foo\nbar".encode("unicode_escape").decode("utf-8"))
我承认,我对这个问题的第一个回答是使用pathlib.Path
。其他人正在看这个,您可能也应该这样做。但是,当我凝视更多并询问问题时,这不适用于这种情况。从字面上看,它必须是一种以\ t \ n \ r等版本的样式将字符串转换为转义符的工具。我猜这与路径无关。编写一个简单的函数很容易,但是我很好奇是否已经存在一些东西。
网络上有一个编码器,所以对\ t \ n样式的编码请求不是那么疯狂,是吗?
http://www.utilities-online.info/urlencode/#.XVYwRZNKg5c
test this string
and this one
test%20this%20string%0Aand%20this%20one
答案 0 :(得分:2)
在python中,实际上有一个replace函数,它允许您将字符串中的字符替换为另一个字符,如下所示:
string = 'This is a path'
for ' ' in string:
string.replace(' ', '\\ ', 1)
请注意第三个参数中的数字。这是为了指定应更改的字符数。尽管前两个参数很容易解释。
第一个是您要更改的内容。第二个是您要替换的内容。我知道您可以将第三个参数设置为有多少个空间,但是这种方法更有效,更自动,因为它可以自行检测到它。
您也可以使用正则表达式,但是我认为这是最“ pythonic”的处理方式,因为您不需要任何其他模块。
此外,我不确定您为什么需要对字符串进行编码。您肯定会使自己变得比原本更困难。