Seite 1 von 1
Nicht Python daten in einer Quelldatei
Verfasst: Sonntag 26. Oktober 2008, 14:00
von captainchaos
Hallo!
Ist es möglich Daten, die nichts mit python zu tun haben an eine Quelldatei anzuhängen ohne das der Interpreter motzt?
Verfasst: Sonntag 26. Oktober 2008, 14:46
von lunar
Indirekt schon:
Code: Alles auswählen
print 'Hello World'
"""Some useless garbage in a triple quoted string"""
Ob das sinnvoll ist, sei mal dahingestellt.
Verfasst: Sonntag 26. Oktober 2008, 20:11
von birkenfeld
Ach ja: Wenn du auf Perls `__END__` anspielst, sowas gibt es in Python nicht. Es wird in jedem Fall das gesamte Modul geparst und kompiliert.
Verfasst: Sonntag 26. Oktober 2008, 22:15
von captainchaos
ok. danke.
Verfasst: Montag 27. Oktober 2008, 07:53
von BlackJack
@captainchaos: Was ist denn das Problem, welches Du lösen möchtest?
Verfasst: Montag 27. Oktober 2008, 14:10
von captainchaos
eine art installer. ich möchte komprimierte daten in meiner quelldatei einbetten, die ich später mit einem file-objekt auslese und in einen pfad dekomprimiere.
Verfasst: Montag 27. Oktober 2008, 15:09
von Leonidas
py2exe? NSIS?
Verfasst: Montag 27. Oktober 2008, 16:55
von name
In Kommentare unterbringen?
Verfasst: Montag 27. Oktober 2008, 18:16
von keppla
ich stimme leonidas zu, eine existierende Lösung ist sicher die bessere Idee.
Wenn man es denn trotzdem um keinen Preis will:
Code: Alles auswählen
#! /usr/bin/python
from __future__ import with_statement
def datafile(filename):
with open(__file__, 'r') as fp:
for line in fp:
if line.startswith('""" DATA BEGIN'):
break
for line in fp:
if line.startswith('DATA END """'):
return
yield line
if __name__ == '__main__':
for line in datafile(__file__):
print line
""" DATA BEGIN
dies ist der inhalt. darf keine triplequotes enthalten.
man koennte ihn geschickterweise direkt mit .encode('zip')
oder sowas behandlen.
DATA END """
Verfasst: Montag 27. Oktober 2008, 20:35
von Sr4l
Lass dich einfach von wxPythons img2py.py inspirieren.
Das Script sorgt bei wxPython dafür Bilder in Python Datei umzuwandeln.
/usr/lib/python2.5/site-packages/wx-2.8-gtl2-unicode/wx/tools ansonsten einfach nach img2py.py suchen.
* dazu durch dafür ersetzt :-/
Verfasst: Mittwoch 29. Oktober 2008, 11:38
von captainchaos
also die tripple-quotes sind zeilenübergreifend?
interessant...
Verfasst: Mittwoch 29. Oktober 2008, 12:02
von BlackJack
Oder man bringt die Daten ungepackt in Zeichenketten unter und packt das dann mit UPX.