有两个答案和一些评论,提到了另一个问题,但都没有提供REASON,为什么Python做了这个改变?例如'/ b'是'/ x08'只是结果,但为什么呢?干杯.
我尝试将此路径"F:\ big data\Python_coding\diveintopython-5.4\py"添加到sys.path中,因此,可以直接导入其下的代码.
使用后: sys.path.append('F:\big data\Python_coding\diveintopython-5.4\py')
我发现我在sys.path中有这条路径:'F:\ x08ig data\Python_coding\diveintopython-5.4\py'
然后我使用以下代码进行测试:mypath1='F:\big data\bython_coding\aiveintopython-5.4\ry'
mypath1现在是: 'F:\x08ig data\x08ython_coding\x07iveintopython-5.4\ry'
所有'\ b'变为'\ x08','\ a'变为'\ x07'
我搜索了一会儿,但仍然找不到原因,请你检查一下,任何反馈或帮助都会被挪用.非常感谢.
Mat*_*vor 12
你的字符串被转义了.查看有关字符串文字的文档:
反斜杠()字符用于转义具有特殊含义的字符,例如换行符,反斜杠本身或引号字符.字符串文字可以选择以字母
r' or
R' 为前缀; 这样的字符串称为原始字符串,并对反斜杠转义序列使用不同的规则.
这是一个可以追溯到60年代初的历史用法.它允许您输入您无法从标准键盘输入的字符.例如,如果您输入Python解释器:
print "\xDC"
Run Code Online (Sandbox Code Playgroud)
......你会得到的Ü
.在你的情况下,你有\b
- 代表退格 - Python在\xhh
表单中显示,其中hh
是08的十六进制值.\a
是ASCII铃声的转义序列:尝试print "\a"
打开你的声音,你应该听到一声嘟嘟声.
逃逸序列\a
,\b
等同于\x07
,\x08
.
>>> '\a'
'\x07'
>>> '\b'
'\x08'
Run Code Online (Sandbox Code Playgroud)
你应该逃避\
自己来代表反斜杠:
>>> '\\a'
'\\a'
>>> '\\b'
'\\b'
Run Code Online (Sandbox Code Playgroud)
或使用原始字符串文字:
>>> r'\a'
'\\a'
>>> r'\b'
'\\b'
Run Code Online (Sandbox Code Playgroud)