новый для python и поиск некоторой помощи по проблеме, которую я имею с os.walk. У меня был прочный взгляд и я не могу найти правильное решение моей проблемы.Os.walk - WindowsError: [Ошибка 123] Неверное имя файла, имя каталога или тома:
Что делает код: Сканирует выбранные пользователями HD или папку и возвращает все имена файлов, поддиры и размер. Затем это обрабатывается в pandas (не в коде ниже) и экспортируется в таблицу Excel в желаемое форматирование.
Однако, в первой части кода в Python 2.7, я в настоящее время испытывает ошибку ниже:
WindowsError: [Ошибка 123] Имя файла, имени папки или синтаксис метки тома неверен: ' E: \ 03. Work \ Bre \ Files \ folder2 \ icons greyscale flatten \ ._ Icon_18? 10 Stainless Steel.psd '
Я исследовал с использованием необработанной строки (r'), но безрезультатно. Возможно, я пишу это неправильно.
Замечу, что я никогда не получаю это в формате 3.5 или на ярких выделенных папках. Из-за Pandas и pysinstaller проблемы с 3.5, я надеюсь придерживаться 2.7 до тех пор, пока ошибка с 3.5 не будет решена.
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!"
Любая помощь будет принята с благодарностью :)
Параметр '' не является [допустимым символом для файла Windows] (https: //? MSDN .microsoft.com/EN-US/библиотека/окна/настольные/aa365247 (v = vs.85) .aspx); поэтому я подозреваю, что проблема в том, что там есть и другой фактический персонаж. Что такое имя файла при его открытии в проводнике Windows? –
Спасибо за ответ @Burhan Khalid. Любые идеи о том, как я получаю os.walk, чтобы игнорировать их? Этот код, вероятно, будет использоваться на множестве беспорядочных hd с смесями незаконных символов. – fergdid
Сначала попробуйте открыть папку в проводнике Windows и посмотреть, что такое фактическое имя файла. –