Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

for naredba spremanje u vartijablu?

[es] :: Python :: for naredba spremanje u vartijablu?

[ Pregleda: 2517 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pwnage
Nista

Član broj: 244973
Poruke: 18
*.dsl.optinet.hr.



Profil

icon for naredba spremanje u vartijablu?26.09.2010. u 13:08 - pre 164 meseci
Evo treba mi pomoc s ovom scriptom:

Code:
f = open(r'C:\ff.txt', 'r')      open txt file , read
for line in f:                              #there are more lines in variable f
    x=line.split()                         # i split that lines so I could delete few of them any way its not important
    del x[:1]                         # cut it
    del x[2];del x[1];del x[1];del x[1];del x[1];del x[1]  # cut it till it left what i want
    o=str(x)                    # I put it in string so I could strip some signs since list dosent have strip command
    p=o.strip('[]\'')         # I strip few signs
    l=open(r'C:\lol.txt','w')       # I wanna save it in C:\lol.txt
    l.writelines(p)                     #save variable , but i t save one and when it save other line it delete first one
    l.close()


uglavnom u fajlu C:\ff.txt nalazi se par linija i ja sam to sasjekao i uredio kao sto pise gore u codu , i sad kad zelim to sve spremit u jednu varijablu ne moze jer se sprema jedno preko druge i brise ovu prvu , tako da nakraju samo zadnja ostane , i pokusao sam i s append u listi ali neradi , kako mogu to sve nekako spremit u jednu varijablu i onda da spremim u mapu , ako neko moze pomoc bio bih zahvalan jer mi se ovaj problem vec javlja kod par progama a nikako da skontam kako da to rijesim...
 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.cpe.vektor.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: for naredba spremanje u vartijablu?26.09.2010. u 16:18 - pre 164 meseci
A zašto ne bi radilo da pre petlje napraviš listu a u petlji je puniš linijama. Onda kad se iz petlje izađe otvoriš fajl lol i sve te linije upišeš u njega.

Problem sa tekućom implementacijom je što ti u svakom prolasku kroz petlju otvaraš fajl za upis i time brišeš njegov prethodni sadržaj. Pored onog prvog rešenja koje je verovatno najbrže imaš sporije rešenje da lol faj otvoriš pre petlje i u petlji ga puniš, a zatvoriš čim izađeš iz nje. Najsporije bi bilo da u svakom prolasku kroz petlju otvoriš fajl za upis ali u append modu tako da se prethodni sadržaj ne briše. Ovaj način je glup a pominjem ti ga samo da bih rekao da postoji i append mod: http://docs.python.org/library/functions.html#open
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: for naredba spremanje u vartijablu?26.09.2010. u 16:19 - pre 164 meseci
Recimo:

Code:

f = open(r'C:\ff.txt', 'r')      open txt file , read
lst = [] # OVO SAM DODAO
for line in f:                              #there are more lines in variable f
    x=line.split()                         # i split that lines so I could delete few of them any way its not important
    del x[:1]                         # cut it
    del x[2];del x[1];del x[1];del x[1];del x[1];del x[1]  # cut it till it left what i want
    o=str(x)                    # I put it in string so I could strip some signs since list dosent have strip command
    p=o.strip('[]\'')         # I strip few signs
    lst.append(p) # OVO SAM DODAO
    #l=open(r'C:\lol.txt','w')       # I wanna save it in C:\lol.txt
    #l.writelines(p)                     #save variable , but i t save one and when it save other line it delete first one
    #l.close()
l = open(r'C:\lol.txt', 'w') # OVO SAM DODAO
l.writelines(lst) # OVO SAM DODAO
l.close() # OVO SAM DODAO


Jesi li to hteo?

Samo obrati pažnju da writelines metoda ne dodaje newline karakter na kraj, tako da ako hoćeš da ti svaki element bude u svom redu moraš pre dodavanja promenjive p u listu lst da dodaš newline karakter sam.

PS: Nisam probao, ali trebalo bi da radi :)
 
Odgovor na temu

Pwnage
Nista

Član broj: 244973
Poruke: 18
*.dsl.optinet.hr.



Profil

icon Re: for naredba spremanje u vartijablu?26.09.2010. u 18:19 - pre 164 meseci
da to sam htjeo , ja sam bio napravo varijablu za listu unutar for naredbe pa mi zato nije radilo da ovov sam htjeo , znam za append pokusavao sam samo sto sam uvijek stavljao novu varijablu u for naredbi tako da me to zezalo...
 
Odgovor na temu

[es] :: Python :: for naredba spremanje u vartijablu?

[ Pregleda: 2517 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.