Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 是'\2';Python中的一种转义序列,类似于'\b';用于退格或'\n';新线?_Python 3.x_Escaping - Fatal编程技术网

Python 3.x 是'\2';Python中的一种转义序列,类似于'\b';用于退格或'\n';新线?

Python 3.x 是'\2';Python中的一种转义序列,类似于'\b';用于退格或'\n';新线?,python-3.x,escaping,Python 3.x,Escaping,我试图打开一个文件夹中的文件,该文件夹的名称以数字2开头。当我收到一个文件未找到错误时,文件名参数显然有一个字符序列,类似于C:\..\2999abc…\abc.xlsx 在这篇文章中,通过反复试验,我发现\2被视为一个转义序列,并在\之前添加一个\299..解决它。更多的试验和错误结果如下: a = 'assdd\2ddd' print (a) Result: assdd ddd a = 'assdd\1ddd' print (a) Result: assddddd 有人能帮我理解这里发生

我试图打开一个文件夹中的文件,该文件夹的名称以数字2开头。当我收到一个文件未找到错误时,文件名参数显然有一个字符序列,类似于
C:\..\2999abc…\abc.xlsx

在这篇文章中,通过反复试验,我发现
\2
被视为一个转义序列,并在
\
之前添加一个
\299..
解决它。更多的试验和错误结果如下:

a = 'assdd\2ddd'
print (a)
Result: assdd ddd

a = 'assdd\1ddd'
print (a)
Result: assddddd

有人能帮我理解这里发生了什么吗?

Python
字符串中,转义字符和数字一起被解释为ASCII字符,数字为八进制值

在您的例子中,
\2
被视为具有八进制值002的ASCII字符,这是文本的
开头(
STX
)字符
\1
是头的
开头(
SOH
)字符

在ASCII字符中,八进制值为000-037的字符是不可打印的,您不应该将其打印出来。如果在
Python
中对它们调用
print
函数,如您所见,
Python
\2
打印为空格,
\1
打印为空。但是,这在不同的机器上可能有所不同

。所以,是Unicode,而不是ASCII。