2

简单代码:

import os 

filenamelist = []
#path = "E:\blah\blah\blah"
path = "C:\Program Files\Console2"
for files in os.walk(path):
    filenamelist.append(files)
    print files

以上工作。但是当我设置 path= "E:\blah\blah\blah" 脚本运行但什么也不返回。

1) C:\Users\guest>python "read files.py"

('C:\\Program Files\\Console2', [], ['console.chm', 'Console.exe', 'console.xml', 'ConsoleHook.dll', 'FreeImage.dll', 'FreeImagePlus.dll'])

2) C:\Users\guest>python "read files.py"

C:\Users\guest>

知道为什么 os.walk() 在 E:\ 上遇到困难吗?我无法让它在 E: 上读取任何内容。我有一个外部驱动器映射到 E 驱动器。

4

1 回答 1

5

这可能是因为 python 将\其视为转义符号,而您的组合实际上是 E: 磁盘路径的转义符号。

可以通过以下方式之一解决:

  1. 原始字符串文字:(r"E:\blah\blah\blah"反斜杠不被视为转义符号)。
  2. 双反斜杠:("E:\\blah\\blah\\blah"转义符号自行转义)。
  3. 斜线"E:/blah/blah/blah"(这也适用于 Windows)。
于 2013-04-21T18:58:23.847 回答