Python 2.7 Os.walk-WindowsError:[错误123]文件名、目录名或卷标语法不正确:
我是python新手,正在寻找关于我在os.walk中遇到的一个问题的帮助。我环顾四周,找不到解决问题的正确方法 代码的作用: 扫描用户选择的HD或文件夹,并返回所有文件名、子目录和大小。然后在pandas中(不是下面的代码)对其进行操作,并以我所需的格式导出到excel电子表格中 但是,在代码的第一部分,即Python 2.7中,我目前遇到以下错误: WindowsError:[错误123]文件名、目录名或卷标语法不正确:“E:\03。Work\Bre\Files\folder2\icons灰度展平\.\u Icon_18?10不锈钢.psd' 我已经探索过使用原始字符串(r'),但没有任何效果。也许我写错了 我会注意到,我从来没有在3.5或干净标记的选定文件夹中得到这一点。由于3.5的问题,我希望继续使用2.7,直到3.5的错误得到解决Python 2.7 Os.walk-WindowsError:[错误123]文件名、目录名或卷标语法不正确:,python-2.7,os.walk,windowserror,Python 2.7,Os.walk,Windowserror,我是python新手,正在寻找关于我在os.walk中遇到的一个问题的帮助。我环顾四周,找不到解决问题的正确方法 代码的作用: 扫描用户选择的HD或文件夹,并返回所有文件名、子目录和大小。然后在pandas中(不是下面的代码)对其进行操作,并以我所需的格式导出到excel电子表格中 但是,在代码的第一部分,即Python 2.7中,我目前遇到以下错误: WindowsError:[错误123]文件名、目录名或卷标语法不正确:“E:\03。Work\Bre\Files\folder2\icons灰
import pandas as pd
import xlsxwriter
import os
from io import StringIO
#Lists for Pandas Dataframes
fpath = []
fname = []
fext = []
sizec = []
# START #Select file directory to scan
filed = raw_input("\nSelect a directory to scan: ")
#Scan the Hard-Drive and add to lists for Pandas DataFrames
print "\nGetting details..."
for root, dirs, files in os.walk(filed):
for filename in files:
f = os.path.abspath(root) #File path
fpath.append(f)
fname.append(filename) #File name
s = os.path.splitext(filename)[1] #File extension
s = str(s)
fext.append(s)
p = os.path.join(root, filename) #File size
si = os.stat(p).st_size
sizec.append(si)
print "\nDone!"
任何帮助都将不胜感激:)为了使用unicode字符遍历文件名,您需要为os.walk提供unicode路径名 您的路径包含一个unicode字符,该字符在异常中显示为
?
如果您传入unicode路径,像这样os.walk(unicode(field))
您不应该得到该异常
如中所述,如果Python2的路径是“不可编辑的”,则有时会得到一个bytestring。该
?
不是一个;所以我怀疑问题是那里还有其他真实的角色。在Windows资源管理器中打开时,文件名是什么?谢谢您的回复@Burhan Khalid。关于如何让os.walk忽略这些问题,有什么想法吗?这段代码可能会在很多混乱的hd上使用非法字符的混合。首先,尝试在Windows资源管理器中打开文件夹,看看实际文件名是什么。此文件是隐藏的,我相信root用户正在捕获它-但文件名是。\u Icon\u 1810不锈钢.psd-该正方形在中等高度显示为一个周期尝试os.walk(unicode(field))
并查看是否得到相同的结果。