将单反斜杠转换为双反斜杠
Convert single backslash to double backslash
我有一个包含目录的列表:("..\b\c.txt", "..\b\d.txt")
。
我计划使用 .split()
方法来获得另一个由 "\"
分隔的目录组件列表,但我没有成功主要是由于 "\"
的使用。因此,最终结果将是这样的 ("a", "b, "c.txt")
...
我确实理解 \
是一个转义字符以及 this link 报告的困难,但我不明白是否可以将整个列表转换为原始字符串。有人可以帮忙吗?
files = ('..\..\data\User\level1\level2\sun.png','..\..\data\User\level1\level2\description.txt')
我正在测试这样的东西:
str = files[0].split("\")
期望的输出:一个列表包含:
('data', 'User', 'level1', 'level2', 'sun.jpg')
如果 files
是文字,使用原始文字表示法 然后 :
files = (
r'..\..\data\User\level1\level2\sun.png',
r'..\..\data\User\level1\level2\description.txt'
)
在这个具体示例中,您设法避开了所有已知的字符转义序列,但那只是运气。
您可以使用 "\"
来定义一个只有反斜杠的字符串:
files[0].split("\")
演示:
>>> files = (
... r'..\..\data\User\level1\level2\sun.png',
... r'..\..\data\User\level1\level2\description.txt'
... )
>>> files[0].split("\")
['..', '..', 'data', 'User', 'level1', 'level2', 'sun.png']
如果您想将路径分成几部分,您可能应该查看 os.path.split()
和该模块中的其他函数。使用此类函数有助于使您的代码平台不可知。
事实证明,您还没有完全理解 \
作为转义字符。转义字符不是实际字符串中的额外字符,它们是源代码中的额外字符。
要在 Python 中创建一个包含一个 \
字符的字符串,您可以像这样使用 \
作为转义字符:
"\"
源代码中引号之间有2个字符,但在实际字符串中,只有"escaped character",即第二个[=12] =].
注意 "raw strings" 是相似的:不同之处在于 在源代码中 ,而不是实际的字符串。以下相等:
"abc\def"
r"abc\def"
我遇到这种疑惑的时候就是在解释器的交互模式下玩,建议你也这样做。例如,如果您不确定像 "abc\def"
这样的字符串的真正内容是什么,您可以尝试 print
-ing 它。
我有一个包含目录的列表:("..\b\c.txt", "..\b\d.txt")
。
我计划使用 .split()
方法来获得另一个由 "\"
分隔的目录组件列表,但我没有成功主要是由于 "\"
的使用。因此,最终结果将是这样的 ("a", "b, "c.txt")
...
我确实理解 \
是一个转义字符以及 this link 报告的困难,但我不明白是否可以将整个列表转换为原始字符串。有人可以帮忙吗?
files = ('..\..\data\User\level1\level2\sun.png','..\..\data\User\level1\level2\description.txt')
我正在测试这样的东西:
str = files[0].split("\")
期望的输出:一个列表包含:
('data', 'User', 'level1', 'level2', 'sun.jpg')
如果 files
是文字,使用原始文字表示法 然后 :
files = (
r'..\..\data\User\level1\level2\sun.png',
r'..\..\data\User\level1\level2\description.txt'
)
在这个具体示例中,您设法避开了所有已知的字符转义序列,但那只是运气。
您可以使用 "\"
来定义一个只有反斜杠的字符串:
files[0].split("\")
演示:
>>> files = (
... r'..\..\data\User\level1\level2\sun.png',
... r'..\..\data\User\level1\level2\description.txt'
... )
>>> files[0].split("\")
['..', '..', 'data', 'User', 'level1', 'level2', 'sun.png']
如果您想将路径分成几部分,您可能应该查看 os.path.split()
和该模块中的其他函数。使用此类函数有助于使您的代码平台不可知。
事实证明,您还没有完全理解 \
作为转义字符。转义字符不是实际字符串中的额外字符,它们是源代码中的额外字符。
要在 Python 中创建一个包含一个 \
字符的字符串,您可以像这样使用 \
作为转义字符:
"\"
源代码中引号之间有2个字符,但在实际字符串中,只有"escaped character",即第二个[=12] =].
注意 "raw strings" 是相似的:不同之处在于 在源代码中 ,而不是实际的字符串。以下相等:
"abc\def"
r"abc\def"
我遇到这种疑惑的时候就是在解释器的交互模式下玩,建议你也这样做。例如,如果您不确定像 "abc\def"
这样的字符串的真正内容是什么,您可以尝试 print
-ing 它。