简单代码:
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 驱动器的外部驱动器。
最佳答案
这可能是因为 python 将 \
视为转义符号,而您的组合实际上是 E: 磁盘路径的转义符号。
可以通过以下方式之一解决:
- 原始字符串文字:
r"E:\blah\blah\blah"
(反斜杠不被视为转义符号)。 - 双反斜杠:
"E:\\blah\\blah\\blah"
(转义符号自行转义)。 - 斜线
“E:/blah/blah/blah”
(这也适用于 Windows)。
关于python: e驱动器的os.walk不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134995/