Kleines Python Befehls Problem

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.
Gast

Kleines Python Befehls Problem

Beitragvon Gast » Montag 6. Dezember 2004, 14:00

Hallo Allerseits,
ich habe ein kleines Problem in meinem Python Script.

Ich möchte gewisse Daten mit gtar komprimieren.
Allerdings schaffe ich es nicht den Befehl für gtar irgendwie einzugeben.

Also sowas wie:

exec --gtar cjf DATA.1

geht nicht. Hat jemand ne Ahnung wie das geht? Muss ich am Anfang auch
import sys
eingeben?

Meine zweite Frage ist (so ähnlich)
Ein befehl der in TCL so aussieht:

AddAnalysis 13 $perflist -useoperatingparam true

schaffe ich nicht in Python zu übergeben mit einer Art:

AddAnalysis(13,perflist,???)

Vielleicht hat jemand eine blendende idee...

Vielen Dank auch an Euch!!!
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Kleines Python Befehls Problem

Beitragvon Leonidas » Montag 6. Dezember 2004, 14:11

Anonymous hat geschrieben:Ich möchte gewisse Daten mit gtar komprimieren.
Allerdings schaffe ich es nicht den Befehl für gtar irgendwie einzugeben.

Also sowas wie:

exec --gtar cjf DATA.1

geht nicht. Hat jemand ne Ahnung wie das geht? Muss ich am Anfang auch
import sys
eingeben?

Code: Alles auswählen

import os
os.system('gtar cjf DATA.1')


Anonymous hat geschrieben:Meine zweite Frage ist (so ähnlich)
Ein befehl der in TCL so aussieht:

AddAnalysis 13 $perflist -useoperatingparam true

schaffe ich nicht in Python zu übergeben mit einer Art:

AddAnalysis(13,perflist,???)

Vielleicht hat jemand eine blendende idee...

No problem:

Code: Alles auswählen

def AddAnalysis(number, perflist, operatingparam):
    pass

AddAnalysis(13, perflist, True)

Meinst du das so? Dann kannst du in AddAnalysis auf die Variablen zugreifen (statt so wie ich, nichts zu tun).


Anonymous hat geschrieben:Vielen Dank auch an Euch!!!

Gern geschehen, hoffe ich konnte helfen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Gast

Beitragvon Gast » Montag 6. Dezember 2004, 14:23

Wow!
Super für die schnelle Antwort!!!

Da ich ziemlich ungeübt bin...(noch)..
wie gebe ich den Pfad an wohin das tar archieve gespeichert werden soll an?
so?:

os.system('gtar cjf DATA.1 ~/work/sim/tutorial/simple/DATA')

???
Schonmal DANKE !
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 6. Dezember 2004, 14:46

Anonymous hat geschrieben:Wow!
Super für die schnelle Antwort!!!

Klar, immer wenns grad geht :)

Anonymous hat geschrieben:Da ich ziemlich ungeübt bin...(noch)..
wie gebe ich den Pfad an wohin das tar archieve gespeichert werden soll an?
so?:

Wird schon noch :)

Anonymous hat geschrieben:os.system('gtar cjf DATA.1 ~/work/sim/tutorial/simple/DATA')

Nein, das geht so nicht, da die Tilde die variable für das Homedirectory ist, aber nur in der Bash.
Unter Python musst du darauf so zugreifen:

Code: Alles auswählen

import os
print os.environ['HOMEPATH']
print os.environ['USERPROFILE']

Das sind eben die Variablen die du mit so Programmen wie env auslesen kann (es kann auch sein dass du HOME brauchst).
Dann klebst du den Befehl einfach zusammen (mit +).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Gast

Beitragvon Gast » Montag 6. Dezember 2004, 15:22

Hi,
danke für deine Hilfe.
Sorry aber ich muss dich/euch immer noch nerven....
Das Gebiet mit den Umgebungsvariablen ist ein Neubereich für mich...

Das mit print os.environ['HOME']
und print os.environ['USER']
funktioniert.

Allerdins weiß ich nicht was du mit zusammenkleben meinst...

Also...

path = os.environ['HOME']
os.system('gtar cjf DATA.1' path+work/sim/tutorial/DATA) ???
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 6. Dezember 2004, 15:24

path = os.environ['HOME']
os.system('gtar cjf DATA.1' path+work/sim/tutorial/DATA) ???


Hab jetzt nicht genau mitgelesen, aber wenn dann so:

Code: Alles auswählen

path = os.environ['HOME']
os.system('gtar cjf DATA.1' + path + 'work/sim/tutorial/DATA')
raist1314
User
Beiträge: 52
Registriert: Dienstag 21. September 2004, 06:58
Wohnort: Adelzhausen
Kontaktdaten:

Beitragvon raist1314 » Montag 6. Dezember 2004, 15:53

Meinst du nicht, die Benutzung des Moduls tarfile (ab Python 2.3) würde das ganze etwas einfacher gestalten? Zumal du den Rückgabewert von os.system auswerten müsstest, um zu wissen, ob alles ok ist.

Nur so ne Idee am Rande...

HTH

Sebastian
Gast

Beitragvon Gast » Montag 6. Dezember 2004, 16:34

Öha...
hmm ja....hört sich gut an...

modul tar-file...ich werd mal schauen ob ich was dazu finde...

wird wohl nur ein befehl sein....oder?

Danke euch...
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Montag 6. Dezember 2004, 17:02

Hier mal der Link zur Doku von tarfile:
http://www.python.org/doc/current/lib/m ... rfile.html


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]