[Python] perchè os.path.abspath(filename) mi raddoppia le backslash?
Gollum1
gollum1.smeagol1 a gmail.com
Gio 12 Mar 2015 15:56:09 CET
devo analizzare una serie non breve di file csv, divisi in diverse directory...
questo è il codice iniziale che ho scritto... a cui poi mi sono già arenato:
import os
import csv
for dirname, dirnames, filenames in os.walk('./reports'):
for filename in filenames:
filename_abs = os.path.abspath(filename)
print ("filename : ", filename_abs)
with open(filename_abs, newline='\r\n', encoding='utf-16') as
csv_source:
reader = csv.reader(csv_source, delimiter=',')
for row in reader:
if row[0] == '400':
print("delete row:", row)
e questo è il risultato:
filename : D:\My Documents\p977727\Documents\03 -
Sviluppo\winaudit_report\ASP2.csv
with open(filename_abs, newline='\r\n', encoding='utf-16') as csv_source:
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\My
Documents\\p977727\\Documents\\03 -
Sviluppo\\winaudit_report\\ASP2.csv'
il file è memorizzato correttamente nella variabile filename_abs,
perché allora quando lo uso nella open vengono duplicato tutti gli
'\'? e quindi il file non è più raggiungibile?
ho provato a farlo passare anche in os.path.normpath(path), ma nulla è cambiato.
in cosa sto sbagliando?
Tnx&Byez
--
Gollum1 - http://www.gollumone.it
Tesssssoro, dov'é il mio tessssoro...
Maggiori informazioni sulla lista
Python