Am Sat, 23 Sep 2006 18:54:36 +0200 schrieb Klaus - Dieter Nagel:

> Hallo Andreas,
> 
> am Freitag, 22. September 2006 um 13:22 schriebst Du:
> 
>> [...]
> 
>> Die folgenden 12 Zeilen (zwischen den =========) irgendwo z.b. als
>> logfilter.py speichern. (Die Einrückung durch Leerzeichen am Anfang
>> der Zeilen ist wichtig!)
>   [ ... ]
> 
> Das ist absolut Spitze!

Danke. :-)

> Das ist übrigens die erst Antwort von meiner Frage vor mehr als 2
> Jahren an die Liste hier, wofür Python gut ist, und warum OOO Python
> überhaupt braucht. Teil 1 ist damit beantwortet, 

Teil 1 hättest du auf de.comp.lang.python (oder auch comp.lang.python
[Achtung: Viel englischer Traffic!]) schon viel eher beantwortet
bekommen und eine etwas vollständigere Antwort ist "Eigentlich für
fast alles. Alles was dann unter Python zu langsam ist, kann man dann
in C nochmal schreiben und dann ist es auch schnell genug." 

(Das ist jetzt sehr platt ausgedrückt und ich würde auch nicht alles
mit Python schreiben wollen. Aber es ist ähnlich universell
einsetzbar wie z.B. C, C++, Object-Pascal, Java oder Perl, Ruby, ...,
es gibt für vieles irgendwelche Module die irgendwelche
Funktionalität bereitstellen (bei einer normalen Python-Installation
werden auch schon viele Module mitgeliefert) [der "Rest" wird z.b.
auf comp.lang.python.announce angekündigt] UND es hat erstmal
überhaupt nichts mit OOo zutun! :-))

Das kleine Script "logfile.py" ist ja völlig außerhalb und unabhängig
von OOo. Es setzt nur ein installiertes Python voraus und mit OOo
bekommt man rein zufällig ein Python mitinstalliert. 

Das ganze würde z.B. auch in Perl funktionieren (wurde ja auch schon
vorgeschlagen), benötigt aber einen zusätzlich installierten
Perl-Interpreter und Perl-Programme neigen nach meinem Geschmack dazu
leicht sehr kurz, aber dafür auch sehr kryptisch zu werden. 

Sehr auf die Aufgabe "Textdatei zeilenweise durchlaufen und je nach
Inhalt der jeweiligen Zeile irgendwelche Aktionen ausführen"
ausgelegt ist auch awk (bzw. die GNU-Variante: gawk). Unter
Unix/Linux eigentlich immer vorhanden (wie meist auch Perl), für
Windows gibt es wohl auch irgendwo etwas, was dann zusätzlich
installiert werden müsste.

Weil bei awk die "Textdatei zeilenweise durchlaufen"-Schleife schon im
Interpreter steckt, bleibt nur noch die Anweisung "wenn aktuelle
Zeile nicht mit OK endet, dann ausgeben der aktuellen Zeile" als
Anweisung übrig. Das Eingabedatei- und Ausgabedatei-Zeug würde unter
Linux die Shell übernehmen so dass die ganze 'Datei
lesen/filtern/Datei schreiben'-Geschichte nur noch eine Zeile in der
Kommandozeile gewesen wäre. Aber zum einen hatte eben mein
erfolgloses suchen nach dem passenden regulären Ausdruck länger
gedauert als das schreiben des 12-Zeiler in Python (deswegen gibt es
leider kein Beispiel des Befehls), zum anderen muss awk unter Windows
auch erst installiert werden und zum Schluss reagieren manche
Windows-Anwender auf so etwas wie die Kommandozeile etwas
befremdlich. ;-)

> Teil 2 reime ich mir mal so zusammen: OOO braucht das nicht
> unbedingt zum Funktionieren, es ist ein Werkzeug für Bastler und
> Entwickler. Bin ich da auf dem Holzweg?

OOo braucht kein Python, es braucht auch kein StarBasic und für die
meisten Funktionen auch kein Java zum funktionieren.

Aber um OOo um zusätzliche Funktionen zu erweitern ist es doch recht
praktisch wenn OOo die eine oder andere Skriptsprache kann. Sonst
müsste man sich die kompletten OOo-Sourcen nehmen, teilweise verstehen
und die zusätzliche Funktionen in C/C++/Java (ich habe keine Ahnung in
welchen Sprachen OOo programmiert ist und will es auch nicht wissen)
programmieren und sich dann sein eigenes OOo kompilieren. :-(

Stattdessen kann man sich jetzt die Sprache aussuchen die man am
besten kann (solange die Sprache entweder StarBasic, Java oder Python
ist) und seine Erweiterungen für OOo dann damit programmieren. Ich
hätte das logfile.py auch so schreiben können dass es innerhalb von
Ooo abläuft und funktioniert.

Aber das habe ich nicht gemacht, weil

- ich keinen Plan habe wie die Skript-Programiererei in/bei OOo
funktioniert (den DeveloperGuide und das restliche SDK-Zeug hatte ich
kürzlich gelöscht, weil ich nie reingeschaut hatte)

- man, sollte das Skript innerhalb von Ooo laufen, doch erstmal das
komplette Logfile mit 148000 Zeilen in Writer laden müsste um dann das
meiste wieder rauszuwerfen und ich würde, auch wenn Writer bei großen
Dateien stabiler läuft als Word, Writer ungerne mit solche großen
Dateien quälen. Man könnte es zwar auch so machen wie bei meinem
logfile.py bei dem immer nur zeilenweise gearbeitet wird, aber (siehe
Punkt 1) ich habe keinen Plan wie die Skript-Programmierung (egal ob
StarBasic oder Python) von Ooo funktioniert. 

Auch bin ich der Meinung dass man für die Auswertung von Logfiles kein
OOo benötigt. Wenn die Logdateien ordentlich gefiltert sind, der
ganze Schwund (z.B. die Zeilen mit OK) draußen ist, dann ist der
verbleibende Rest [hoffentlich] so klein dass ein einfacher Editor
(notepad/wordpad/...) zum anzeigen der gefilterten Daten ausreicht.


[Holzwege bitte ich selbst zu suchen...] ;-)

> beste Grüße noch aus dem Sachsenland
> 
> Klaus - Dieter

Aha, dann könntest du auch ... in Leibzig oder .... in Chemnitz von
mir grüßen. Solltest du dort oder dort wohnen. :-)

Grüße aus Hamburg,

        Andreas

(warum ist dies Posting jetzt so lang geworden?)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an