[python] Proměnný název souboru

Ctibor.Plasek Ctibor.Plasek na seznam.cz
Čtvrtek Březen 3 13:49:28 CET 2011


Jednalo se mi o toto :
Chci vytvořit seznam souborů (1.txt , 2.txt, ....) a pak do nich zapisovat. Problém byl právě v tom, že jsem chtěl aby proměnná, která ukazuje na soubor, byla skutečně proměnná a abych mohl použít write. Takže se to díky radě s "vars" podařilo vyřešit takto :
for a in range (1,20):
   f = 'soubor' + str(a)
   vars()[f] = open(str(a)+'.txt','w')

a teď už můžu klidně použít stejným způsobem i zápis do souboru, který se mi mění v závislosti na proměnné.

Takže ještě jednou - díky všem za ochotu.



> ------------ Původní zpráva ------------
> Od: Petr Přikryl <prikryl na atlas.cz>
> Předmět: Re: [python] Proměnný název souboru
> Datum: 03.3.2011 12:58:32
> ----------------------------------------
> 
> Název proměnné vůbec nijak nesouvisí s objektem, na který odkazuje.
> 
> soubor1 = open('soubor.txt', 'w')
> soubor1.write('text1n')
> ...
> soubor2 = soubor1
> ...
> soubor1 = cokoliv
> ...
> soubor2.write('text2n')
> soubor2.close()
> 
> V soubor.txt budou oba řádky text1 i text2.
> 
> Takže je potřeba si udělat jasno, jestli chceš nějak měnit
> jméno souboru (fyzického, na disku) nebo jmého proměnné,
> která zachycuje objekt typu soubor.
> 
> Jméno souboru na disku můžu samozřejmě uložit do proměnné:
> 
> jmenoSouboru = 'soubor.txt'
> f  = open(jmenoSouboru, 'w')
> f.write('textn')
> f.close()
> 
> Petr
> 
> ______________________________________________________________
> > Od: "Ctibor.Plasek" <Ctibor.Plasek na seznam.cz>
> > Komu: Konference PyCZ <python na py.cz>
> > Datum: 03.03.2011 12:18
> > Předmět: Re: [python] Proměnný název souboru
> >
> >To je sice pěkné, ale stále mi to neřeší nový název proměnné ( soubor1 =
> .....)
> >
> >> ------------ Původní zpráva ------------
> >> Od: zu1234 <zu1234 na seznam.cz>
> >> Předmět: Re: [python] Proměnný název souboru
> >> Datum: 03.3.2011 12:07:29
> >> ----------------------------------------
> >> I = 1
> >> open("x" + str(I) + ".txt", 'w').write('eee')
> >> I += 1
> >> open("x" + str(I) + ".txt", 'w').write('eee')
> >> 
> > ZU
> >> 
> > Dne 3.3.2011 11:53, Ctibor.Plasek napsal(a):
> >> > open jde udělat i takhle :
> >> > a = 1
> >> > F = open('text'+ str(a) + '.txt','w')
> >> >
> >> > ale právě s tím zápisem mám problém...
> >> >
> >> >
> >> >> ------------ Původní zpráva ------------
> >> >> Od: zu1234 <zu1234 na seznam.cz>
> >> >> Předmět: Re: [python] Proměnný název souboru
> >> >> Datum: 03.3.2011 11:45:15
> >> >> ----------------------------------------
> >> >> Asi to nepůjde tak jednoduše.
> >> >>
> >> >> FI = open('test.txt','w')
> >> >> FI_2 = open('test_2.txt','w')
> >> >> FI.write('aaa')
> >> >> FI_2.write('bbb')
> >> >>
> >> >> Leda to přebalit pomocí nějaké funkce, která by prohazovala
> >> >> file_objekty podle jednoho z parametrů.
> >> >>
> >> >> ZU
> >> >>
> >> >> Dne 3.3.2011 11:12, Ctibor.Plasek napsal(a):
> >> >> > Dobrý den.
> >> >> > Mohl by mi někdo poradit, jak vytvořit něco takového :
> >> >> >
> >> >> > soubor1.write('ahoj')
> >> >> >
> >> >> > ale tak, abych mohl měnit název souboru dle proměnné :
> >> >> >
> >> >> > soubor+str(1).write('ahoj')
> >> >> >
> >> >> > Děkuji Ctibor
> >> >> > _______________________________________________
> >> >> > Python mailing list
> >> >> > Python na py.cz
> >> >> > http://www.py.cz/mailman/listinfo/python
> >> >> >
> >> >> _______________________________________________
> >> >> Python mailing list
> >> >> Python na py.cz
> >> >> http://www.py.cz/mailman/listinfo/python
> >> >>
> >> >>
> >> >>
> >> > _______________________________________________
> >> > Python mailing list
> >> > Python na py.cz
> >> > http://www.py.cz/mailman/listinfo/python
> >> >
> >> _______________________________________________
> >> Python mailing list
> >> Python na py.cz
> >> http://www.py.cz/mailman/listinfo/python
> >> 
> > 
> > 
> _______________________________________________
> >Python mailing list
> >Python na py.cz
> >http://www.py.cz/mailman/listinfo/python
> >
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> 
> 


Další informace o konferenci Python