Portál AbcLinuxu, 26. dubna 2024 12:32


Dotaz: python: obdoba bashoveho prikazu source

18.8.2005 19:29 deduska maroz
python: obdoba bashoveho prikazu source
Přečteno: 46×
Odpovědět | Admin
Zdravim, programuji v pythonu spise webove aplikace, ted poprve delam neco mimo web a potreboval bych nebo jako v bashi
source soubor
. Ten soubor je textak s python kodem, napr.
klic = "hodnota"
if klic == "neco": vypnout = 0
Existuje neco takoveho?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.8.2005 19:40 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
Odpovědět | | Sbalit | Link | Blokovat | Admin
execfile(), ale vyhnul bych se mu.

Situace je totiž přesně opačná: Shell nezná moduly, takže jediný a ne moc dobrý způsob, jak realizovat modularizaci, tj. něco podobného pythonímu import, je prostě načíst kód z nějakého souboru. Ale v jazycích, které moduly umí, je v 99,5% případů modul to, co chceš.
18.8.2005 20:01 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
Nene, jde mi jen o prachsprosty konfigurak, jen prirazeni promennych... jsem tech 0.05% :)
18.8.2005 20:02 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
jo a ... tazatel = ja, dekuju za odpoved :)
18.8.2005 21:28 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
V tom případě máš stále modulové možnosti:
import config

print config.foo...
a
from config import *

print foo...
18.8.2005 21:29 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
První ti přitom úplně zdarma vytvoří objekt s konfigurací -- ten modul, takže dělat to nějak jinak mi přijde levou rukou za pravým uchem.
18.8.2005 22:33 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
Sorry, tak daleko asi zatím nejsem :/ máš na mysli vytvoření modulu, ten pak importovat... ? Tam by byl problém s jeho umístěním, on to má být nějakej ~/.config ...
Ku8aZ avatar 19.8.2005 08:43 Ku8aZ | skóre: 17
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
Ne. Import provede to, ze nad tim souborem udela neco jako source v BASHi. Proste to precte a pokud je to soubor s prikazy Pythonu, tak je normalne provede. A potom muzes normalne ke vsem promennym pristupovat.

Takze pokud mas ten soubor pojmenovany jako config.py, staci napsat vyse zminene prikazy a budes mit vse prirazene a zpristupnene (jak to udelat, kdyz ten soubor nebude mit rozsireni .py, to netusim)
Čeho se vlastně člověk bojí, když se bojí tmy...? jabber: ku8az AT jabbim.cz
19.8.2005 09:48 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
No, ne tak úplně, import bude hledat konfigurák jen v sys.path, takže kdyby byl konfigurák ~/.program/config.py, šlo by to např.:
import os, sys

try:
    sys.path.insert(0, os.path.join(os.environ['HOME'], '.program'))
    import config
    sys.path.pop(0)
except ImportError:
    # Konfigurák není, tak si vytvoříme výchozí config...

print config.foo...
19.8.2005 09:54 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: python: obdoba bashoveho prikazu source
jj ... přesně tohle nechci, zbytečně složitý :o)) ten execfile() funguje naprosto optimálně, opravdu jediný co z toho configu nasávám je pár proměnných... takže dík za vyřešení problému ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.