Open write print

ma in python dopo aver aper un file
ci sono delle sequenze prestabilite per
eseguire una determinata operazione?

nel senso viene eseguito prima in lettura o in scrittura? oppure tipo prima read o readlines?

Parli di file aperti in lettura o in scrittura o in entrambe ?
Io sono abituato solo a leggere o scrivere, non entrambe le cose contemporaneamente.

Quale operazione ?

Per questo, come dicevo, non ho esperienza di lettura e scrittura insieme.

Se vuoi leggere linee intere usi readline()
se vuoi leggere un certo numero di bytes o il file intero usi read()

Non capisco in che senso “prima” … :confused:

ciao Emilio,

si intendevo insieme ma su righe diverse:

with open("test.txt", "r") as f:
    lines = f.readlines()
    print lines

lines[1]="bb\n"
print lines

with open("test.txt", "w") as f:
    for x in lines:
        f.write(str(x))

with open("test.txt", "r") as f:
    print f.read()

testo del file :

a
b
c

testo dei print:

[‘a\n’, ‘bb\n’, ‘c’]
[‘a\n’, ‘bb\n’, ‘c’]
a
bb
c

come mai nei tre print il risultato è sempre modificato nella riga due?
la seconda riga è sempre “bb” e non “b”. come se venisse eseguito
prima il codice in scrittura e poi quelli in lettura. possibile?

ps ovviamente aggiungendo “+” si può leggere e scrivere
ma se già cosi il risultato è contorto diventa complicato.

Ciao Salvio

Io leggo:

lines[1]="bb\n"

Perche’ dovrebbe scrivere ‘b’ ?

Di nuovo: cosa dovrebbe fare questo ?

lines[1]="bb\n"

A me sembra che modifichi la seconda riga.

EDIT

Aspetta, forse ho capito.
Ti riferisci al primo print …

Ho provato qui, mi scrive:

[‘a\n’, ‘b\n’, ‘c\n’]
[‘a\n’, ‘bb\n’, ‘c\n’]
a
bb
c

Sei sicuro che non hai rilanciato lo script sul file modificato ?

Emilio sono sicuro, essendo che ho fatto tante prove ed ho modificato continuamente il file
veramente sto usando Py in Gh, ma dopo la tua risposta mi è venuto in mente di provare
con Py in Rh ed effettivamente li è come dici tu, la prima riga è giusta in Gh invece no :thinking:

ps ma Py in Gh è un elemento a parte oppure è collegato al Py in Rh?

Dici in un componente Script ?
In GH non e’ cosi’ semplice decidere quando lo script viene eseguito …
Forse lui parte prima di quando pensi e modifica subito il file.

in che senso scusa?

ma è vero :man_facepalming: :man_facepalming:
sembra che parta stesso all’apertura del componente
non aspetta che premo il pulsante test. il file è già modificato.

GH funziona cosi’, calcola automaticamente in base ai dati che ha.
E’ fatto apposta.
Il difficile non e’ farlo partire, il difficile e’ tenerlo fermo …
:smile:

si ma infatti ci dovevo pensare a questa cosa, perchè lui esegue tutto in automatico giustamente.

:relaxed: