Python - zápis do súboru v inom priečinku

Programovacie jazyky, rady, poradňa...
Bigbob
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 271
Registrovaný: 25 aug 2008, 20:44

Python - zápis do súboru v inom priečinku

Príspevok od používateľa Bigbob »

Mám malý skript, ktorý by čisto teoreticky mal zapisovať určité údaje do textového súboru v podradenej zložke. Teda asi takto:
Tento skript:

Kód: Vybrať všetko

import os
name = "Kamen"
ad = ".txt"
subor=file(os.system("a" + os.sep + name + ad),"w")
subor.write("it works!\n")
subor.write("and second line works too :)\n")
subor.close
by mal v adresári \a vytvoriť textorý súbor obsahujúci 2 riadky. Problém je v tom, že konzola mi vyhodí nasledujúcu chybu:
konzola napísal:file_creator.py", line 4, in <module>
subor=file(os.system("a" + os.sep + name + ad),"w")
TypeError: coercing to Unicode: need string or buffer, int found
Nejak nedokážem pochopiť, kde v tom riadku našiel Python celé číslo :(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nemalo by to byť

Kód: Vybrať všetko

subor=open(os.system("a" + os.sep + name + ad),"w") 
?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Problém spôsobuje os.system (tá funkcia zavolá nejaký program a vráti návratovú hodnotu toho programu, preto tam píše, že je tam číslo a nie reťazec).
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Príspevok od používateľa paralen »

hmm, ak chces spravit ten subor v podradenej zlozke (napr. tam kde je momentalne script ) tak :

Kód: Vybrať všetko

import os
from os.path import exists

name = "Kamen" 
ad = ".txt" 
zlozka= "a"

if not exists(os.getcwd()+"/"+zlozka):
    os.mkdir(zlozka)

subor=file(os.getcwd()+"/"+zlozka+"/"  + name + ad,"w") 
subor.write("it works!\n") 
subor.write("and second line works too :)\n") 
subor.close
Bigbob
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 271
Registrovaný: 25 aug 2008, 20:44

Príspevok od používateľa Bigbob »

martin.007: Díky moc, asi som si pythonovskú API nepozeral moc pozorne, keď som prehliadol príkaz mkdir :o :)
Napísať odpoveď