2024-09-28 12:13:50 发布
网友
假设我分配变量
x = '\\dnassmb1\biloadfiles_dev\Workday' print(x)
输出:
'\\dnassmb1\x08iloadfiles_dev\\Workday'
我想知道为什么它会特别改为“x08..”,以及如何避免这种自动更改并按原样使用字符串。谢谢大家!
你做错了。反斜杠在Pyton中的含义与在字符串中使用的含义不同。 反斜杠实际上用于在字符串中放置一些特殊字符。 如果要打印上述字符串
x = '\\\dnassmb1\\biloadfiles_dev\\Workday' print(x)
如果你得到了这个,我在任何我想要打印反斜杠的地方都使用了一个额外的反斜杠。这是因为第一个反斜杠表示后面的内容只是字符串的一部分,没有特殊意义
使用原始字符串:
x = r'\\dnassmb1\biloadfiles_dev\Workday'
这将防止python将反斜杠视为转义序列。有关字符串解析的完整处理方法,请参见Python文档中的string and byte literals
密切关注表征和值之间的差异非常重要。仅仅因为字符串中似乎有四个反斜杠,并不意味着这些反斜杠在字符串的值中。考虑:
>>> x = '\\dnassmb1\biloadfiles_dev\Workday' # regular string >>> y = r'\\dnassmb1\biloadfiles_dev\Workday' # raw string >>> print(x); print(y) \dnassmbiloadfiles_dev\Workday \\dnassmb1\biloadfiles_dev\Workday
在这里,x和y都只是字符串,一旦Python解析了它们。但即使引号内的部分相同,字符串的字节也不同。在y的例子中,您可以准确地看到您放入的反斜杠的数量
y
你做错了。反斜杠在Pyton中的含义与在字符串中使用的含义不同。 反斜杠实际上用于在字符串中放置一些特殊字符。 如果要打印上述字符串
如果你得到了这个,我在任何我想要打印反斜杠的地方都使用了一个额外的反斜杠。这是因为第一个反斜杠表示后面的内容只是字符串的一部分,没有特殊意义
使用原始字符串:
这将防止python将反斜杠视为转义序列。有关字符串解析的完整处理方法,请参见Python文档中的string and byte literals
密切关注表征和值之间的差异非常重要。仅仅因为字符串中似乎有四个反斜杠,并不意味着这些反斜杠在字符串的值中。考虑:
在这里,x和y都只是字符串,一旦Python解析了它们。但即使引号内的部分相同,字符串的字节也不同。在
y
的例子中,您可以准确地看到您放入的反斜杠的数量相关问题 更多 >
编程相关推荐