Python操作系统模块赢得';无法识别目录中的特定文件夹

Python操作系统模块赢得';无法识别目录中的特定文件夹,python,Python,我试图使用操作系统模块中的几个函数来导航和操作目录中的文件,但我遇到了一些令人困惑和沮丧的问题。Python将允许我导航到一些文件夹,为其他文件夹抛出一个错误。例如,对于这段代码 import os os.chdir('C:\Python27\root_folder') 我得到一个错误: OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:\\Python2

我试图使用操作系统模块中的几个函数来导航和操作目录中的文件,但我遇到了一些令人困惑和沮丧的问题。Python将允许我导航到一些文件夹,为其他文件夹抛出一个错误。例如,对于这段代码

import os
os.chdir('C:\Python27\root_folder')
我得到一个错误:

OSError: [WinError 123] The filename, directory name, or volume label syntax 
is incorrect: 'C:\\Python27\root_folder'
但当我运行这个:

os.chdir('C:\Python27\Lib')
没有问题。正如您所看到的,Lib和root_folder都是此目录中的文件夹,但由于某些原因,python可以识别其中一个,而另一个则不能识别。我曾多次尝试重命名该文件夹,删除并创建一个新文件夹,但均无效。我觉得解决办法肯定是显而易见的,但我想不出来。当我使用其他操作系统功能时,如os.walk,也会出现同样的问题

哦,我知道这个目录名为Python27,但是我正在运行python3.6.1,如果这有什么区别的话


非常感谢您的帮助

您需要将所有反斜杠加倍

os.chdir('C:\\Python27\\root_folder')
Python将字符串中后跟字母的反斜杠解释为特殊字符。比如说

\newline    Backslash and newline ignored
\'  Single quote (')     
\"  Double quote (")     
\a  ASCII Bell (BEL)     
\b  ASCII Backspace (BS)     
\f  ASCII Formfeed (FF)  
\n  ASCII Linefeed (LF)  
\r  ASCII Carriage Return (CR)   
\t  ASCII Horizontal Tab (TAB)   
\v  ASCII Vertical Tab (VT)
\ooo    Character with octal value ooo
\xhh    Character with hex value hh

可能还有一些其他的,但是\p和\L并不特殊,所以它们被解释为反斜杠后跟p和反斜杠后跟L。但是在另一种情况下,\r被解释为回车,而不是反斜杠后跟r。

或者使用原始字符串文字:
r'C:\Python27\Lib'