[python] Proměnný název souboru

Visgean Skeloru visgean na gmail.com
Čtvrtek Březen 3 14:21:17 CET 2011


Ehm, a proč si to prostě nehodil do seznamu?

fileObjects = []
for a in range (1,20):
   filename = str(a) + ".txt"
   fileObjects.append(open(filename, "w"))

tím zároveň nebudeš špinit namespace spoustou proměnných...

Nebo pakliže mermomocí chceš používat ty objekty podle názvů, můžeš použít
asoc. pole:

fileObjects = {}
for a in range (1,20):
   filename = str(a) + ".txt"
   fileObjects[filename] = open(filename, "w")

(Jen mi to přijde jako čistší způsob...)

-- 
PGP pub key:

http://keyserver.pgp.com/vkd/SubmitSearch.event?SearchCriteria=visgean%40gmail.com
           http://www.abclinuxu.cz/lide/visgean/gpg
           A453 B7F3 33D9 3BE6 2B8A | F014 5347 EBAC 0A5A 3E92
Jabber: visgean na jabber.org | visgean na jabber.cz
Github: http://github.com/Visgean



2011/3/3 Ctibor.Plasek <Ctibor.Plasek na seznam.cz>

> 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
> >
> >
> >
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20110303/cb4fd096/attachment.html>


Další informace o konferenci Python