PDA

Visualizza la versione completa : [python] sostituzione stringhe in un file


string
30-08-2004, 16:06
ho questo script:


file = open(sys.argv[1], "r")
newfile = open("new"+sys.argv[1], "w")

while 1:
riga = file.readline()
if riga =="":
break;
riga2 = string.replace(riga, "\immagini\band\", "/immagini/band/")
newfile.write(riga2)

file.close()
newfile.close()


e questo e' l'errore:
________________________________________

riga2 = string.replace(riga, "\immagini\band\", "/immagini/band/")
^

SyntaxError: EOL while scanning single-quoted string

__________________________________________

dov'e' che sbaglio!?!?

anx721
30-08-2004, 17:12
Mi sa che fa confusione con la sequenza \" che probabilmente interpreta come una sequenza di escape per i lsimbolo ". Provo a fare una prova :D

anx721
30-08-2004, 17:28
Trovato:

sostituisci la riga:

riga2 = string.replace(riga, "\immagini\band\", "/immagini/band/")

con:

riga2 = string.replace(riga, "\\immagini\\band\\", "/immagini/band/")

perche in una stringa il backslash (o slash :confused: ) serve ad indicare caratteri speciali, cosi \" serve ad indicare il carattere doppio apice, e quindi quel doppio apice non viene interpretato come la terminazione della stringa, da cui l'errore. Per inserire il carattere \ in una strina devi metterne due di seguito: \\

:ciauz:

string
30-08-2004, 19:49
vi ringrazio :ciauz:

string
31-08-2004, 11:11
Originariamente inviato da string
vi ringrazio :ciauz:

scusa, TI ringrazio :maLOL: :ciauz:

Loading