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: visg...@jabber.org | visg...@jabber.cz Github: http://github.com/Visgean 2011/3/3 Ctibor.Plasek <ctibor.pla...@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 <prik...@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.pla...@seznam.cz> > > > Komu: Konference PyCZ <python@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 <zu1...@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 <zu1...@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@py.cz > > >> >> > http://www.py.cz/mailman/listinfo/python > > >> >> > > > >> >> _______________________________________________ > > >> >> Python mailing list > > >> >> Python@py.cz > > >> >> http://www.py.cz/mailman/listinfo/python > > >> >> > > >> >> > > >> >> > > >> > _______________________________________________ > > >> > Python mailing list > > >> > Python@py.cz > > >> > http://www.py.cz/mailman/listinfo/python > > >> > > > >> _______________________________________________ > > >> Python mailing list > > >> Python@py.cz > > >> http://www.py.cz/mailman/listinfo/python > > >> > > > > > > > > _______________________________________________ > > >Python mailing list > > >Python@py.cz > > >http://www.py.cz/mailman/listinfo/python > > > > > _______________________________________________ > > Python mailing list > > Python@py.cz > > http://www.py.cz/mailman/listinfo/python > > > > > > > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python