cwbe coordinatez:
101
63540
2076399
856608
5200978

ABSOLUT
KYBERIA
permissions
you: r,
system: public
net: yes

neurons

stats|by_visit|by_K
source
tiamat
K|my_K|given_K
last
commanders
polls

total descendants::9
total children::1
show[ 2 | 3] flat


Pracujem na programe, ktory nacita textovy subor s asi 4000 vyexportovanymi emailami a rozdeli ich do mensich filov, kde budu len majly z jedneho mesiaca. Viem si nacitat datum kedy bol email doruceny, viem aj otvorit subor tak aby v jeho nazve bol mesiac a rok.

Mam teda nazov premennej, v ktorej je otvoreny vystupny file, ulozeny v inej premennej a problem je v tom, ze teraz neviem ako pracovat s tou premennou...

Som len zaciatocnik, takze mozno cely ten napad to robit takto nie je dobry...
Mozem zdrojak hodit pripadne na pastebin...

Za pomoc vopred dakujem..




000001010006354002076399008566080520097805201169
vl4kn0
 vl4kn0      28.02.2010 - 15:11:51 (modif: 28.02.2010 - 15:14:06), level: 1, UP   NEW !!CONTENT CHANGED!!
za predpokladu ze mas emaily v subore ulozene takto:
1234567890 email@domain.tldn
tak to mozes vyparsovat takto:


fd = open("maily.txt", "r")

for line in fd.readline():
  (date,email) = line.split(" ")


dalej s date a email mozes pracovat podla uvazenia

00000101000635400207639900856608052009780520116905201263
tlamer
 tlamer      28.02.2010 - 16:01:46 , level: 2, UP   NEW
no to uz mam spravene
vyparsujem datum, ulozim do premennej, vytvorim aj vystupny file:

vars()['file'+date] = open(date+'.txt','w')

problem mam s tym ze nazov premennej v ktorej je otvoreny vystupny file mam ulozeny v premennej... a neviem ako mozem potom pouzit .write() method na tu premennu s filom...

0000010100063540020763990085660805200978052011690520126305201297
vl4kn0
 vl4kn0      28.02.2010 - 16:22:31 , level: 3, UP   NEW
no ved na kazdu iteraciu dostanes urcity datum, ak ten datum uz existuje tak sa ti otvory existujuci subor a tam zapisujes iba na koniec, ak subor neexistuje tak ho najskor vytvoris. a potom ked mas v premennej date nejaky datum na kazdu iteraciu tak spravis jednoducho var["file" + str(date)].write() a fungovat by to malo i ked je to slovnik.

000001010006354002076399008566080520097805201169052012630520129705201407
tlamer
 tlamer      28.02.2010 - 17:29:48 , level: 4, UP   NEW
dakujem!!! k tomu

var["file" + str(date)].write()

som sa nikde nevedel dostat... teda som nevedel ako mozem do nej zapisat... vogooglil som ako vytvorit premennu nazvanu ako string v nejakej inej premenej ale nezistil som ako s nou narabat...

takze este raz diki :)

00000101000635400207639900856608052009780520116905201263052012970520140705201422
tlamer
 tlamer      28.02.2010 - 17:38:47 , level: 5, UP   NEW
hmmm... si si isty ze to ide tak ako si napisal?

0000010100063540020763990085660805200978052011690520126305201297052014070520142205201584
vl4kn0
 vl4kn0      28.02.2010 - 19:25:49 (modif: 28.02.2010 - 19:26:20), level: 6, UP   NEW !!CONTENT CHANGED!!
samozrejme, ale nezabudni ze vars je slovnik, cize musis niekde pred pouzitim nadefinovat

vars = {}

000001010006354002076399008566080520097805201169052012630520129705201407052014220520158405202613
tlamer
 tlamer      01.03.2010 - 12:03:52 , level: 7, UP   NEW
uz to mam... dakujem este raz...

00000101000635400207639900856608052009780520116905201263052012970520140705201422052015840520261305204040
tlamer
 tlamer      01.03.2010 - 23:17:37 , level: 8, UP   NEW
heh... zas ja... predsalen stale problem... pracovanie s premennymi ulozenych v slovniku je okej...

az na to ze pri manipulacii s premennymi v ktorych je otvoreny nejaky file

vars()['file'+date] = open(date+'.txt','w')
files[date] = 'file'+date
files[date].close()

dostanem error

files[date].close()
AttributeError: 'str' object has no attribute 'close'

0000010100063540020763990085660805200978052011690520126305201297052014070520142205201584052026130520404006082128
mimmon
 mimmon      23.06.2011 - 11:35:12 , level: 9, UP   NEW
škoda, že som si túto debatu minulý rok nevšimol. už asi nepotrebuješ poradiť :) ale padalo to preto lebo si nezatváral súbor, ale len názov súboru, teda text