Python中Windows路径的双反斜杠错误
我想在Windows上用Python 3.3处理文件路径,但遇到了一个错误:
文件未找到错误: [错误号 2] 没有这样的文件或目录: 'E:\\dir\\.project'
问题出在双反斜杠上。我看到有人提到可以用r来解决。
def f(dir_from):
list_of_directory = os.listdir(dir_from)
for element in list_of_directory:
if os.path.isfile(os.path.join(dir_from, element)):
open(os.path.join(dir_from, element))
f(r'E:\\dir')
但我又遇到了这个错误
文件未找到错误: [错误号 2] 没有这样的文件或目录: 'E:\\dir\\.project'
os.path.normpath(path)
并没有解决我的问题。
我到底哪里做错了呢?
2 个回答
0
把'\\'换成'/'对我来说有效。我在C盘创建了一个名为'a'的文件夹,作为这个例子。
>>> (Python interpreter)
>>> import os
>>> os.path.isdir('C:/a/)')
>>> True
>>> os.path.isfile('C:/a/)')
>>> False
11
如果你在使用一种叫做原始字符串的东西,那么你就不需要对反斜杠进行转义了:
f(r'E:\dir')
当然,这个问题(还有很多类似的问题)可以通过在路径中简单地使用正斜杠来解决:
f('E:/dir')