2015-09-17 40 views

回答

3

"C:\\myfile\test.h"相当于"C:\\myfile[tab character]est.h"。它的目录是"C:\\",其文件名是"myfile[tab character]est.h"

如果您想要名称为"test.h"和目录"C:\\myfile"的文件,则应该跳过该反斜杠:"C:\\myfile\\test.h"。或者,使用原始字符串:r"C:\myfile\test.h"。另外,使用“/”,如果你的操作系统支持:"C:/myfile/test.h"

"C:\\myfile\mytest.h"因为\m不是有效的转义序列,所以Python解释为一个反斜杠和M.

+0

因此,如果我们不同意这一问题从命令行输入它作为输入,我们应该在处理它之前在我们的用户输入路径中的任何地方添加'\'? – niyant

+0

@niyant,如果你的意思是你使用'raw_input'输入路径,否。反斜杠将为您逃脱。如果你的代码是'os.path.dirname(raw_input(“enter filename”))'并且用户输入'c:\ myfile \ test.h',它将正确地确定目录名为'c:\ myfile'。通过'sys.argv'给出的输入也是如此。 – Kevin

+0

谢谢您的详细解释 – niyant