the reason: python string assignments accidentally change '\b' into '\x08' and '\a' into '\x07', why Python did this?
Had two answers and some comments, mentioned another question, but all had not provided REASON, why Python did this changes? such as '/b' is '/x08' is just the result, but why? Cheers.
I try to add this path"F:\big data\Python_coding\diveintopython-5.4\py" into sys.path, therefore, the code under it could be imported directly.
after using :
I found I had this path inside sys.path: 'F:\x08ig data\Python_coding\diveintopython-5.4\py'
I then tested using the following code:
the mypath1 now is :
all the '\b' changed into '\x08' and '\a' changed into '\x07'
I searched for a while, but still can not find the reason, could you please check it out and any feedback or help will be appropriated. Many thanks.Автор: T.C Источник Размещён: 12.11.2019 09:26
Your strings are being escaped. Check out the docs on string literals:
The backslash () character is used to escape characters that otherwise have a special meaning, such as newline, backslash itself, or the quote character. String literals may optionally be prefixed with a letter
r' orR'; such strings are called raw strings and use different rules for backslash escape sequences.
This is a historical usage dating from the early 60s. It allows you to enter characters that you're not otherwise able to enter from a standard keyboard. For example, if you type into the Python interpreter:
Ü. In your case, you have
\b - representing backspace - which Python displays in the
\xhh form, where
hh is the hexadecimal value for 08.
\a is the escape sequence for the ASCII bell: try
print "\a" with your sound on and you should hear a beep.
\b is equivalnt to
>>> '\a' '\x07' >>> '\b' '\x08'
You should escape
\ itself to represent backslash literally:
>>> '\\a' '\\a' >>> '\\b' '\\b'
or use raw string literals:
Автор: falsetru Размещён: 09.04.2014 11:34
>>> r'\a' '\\a' >>> r'\b' '\\b'