Portál AbcLinuxu, 13. května 2025 22:00
source soubor. Ten
soubor
je textak s python kodem, napr.
klic = "hodnota" if klic == "neco": vypnout = 0Existuje neco takoveho?
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š.
import config print config.foo...a
from config import * print foo...
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)
~/.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...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.