Nicht Python daten in einer Quelldatei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
captainchaos
User
Beiträge: 8
Registriert: Donnerstag 28. August 2008, 08:30
Kontaktdaten:

Hallo!
Ist es möglich Daten, die nichts mit python zu tun haben an eine Quelldatei anzuhängen ohne das der Interpreter motzt?
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.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

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.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
captainchaos
User
Beiträge: 8
Registriert: Donnerstag 28. August 2008, 08:30
Kontaktdaten:

ok. danke.
BlackJack

@captainchaos: Was ist denn das Problem, welches Du lösen möchtest?
captainchaos
User
Beiträge: 8
Registriert: Donnerstag 28. August 2008, 08:30
Kontaktdaten:

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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

py2exe? NSIS?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

In Kommentare unterbringen?
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

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 """
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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 :-/
captainchaos
User
Beiträge: 8
Registriert: Donnerstag 28. August 2008, 08:30
Kontaktdaten:

also die tripple-quotes sind zeilenübergreifend?
interessant...
BlackJack

Oder man bringt die Daten ungepackt in Zeichenketten unter und packt das dann mit UPX.
Antworten