Seite 1 von 1
Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:24
von RSMVDL
Hallo,
Ich habe mal ne Frage.
Wenn ich jetzt z.B. ein Python Script habe wie gebe ich in diesem eine Variable weiter an ein anderes Python Script (Python v. 3.3).
In meinem Fall wird ein temporärer Ordner erstellt und der eindeutige Pfad zu diesem wird in einer Variable gespeichert. Innerhalb dieses Pfades muss dann eine Datei bearbeitet werden...
Wie gebe ich dem 2en Script den eindeutigen Pfad mit?
Mein Script:
Code: Alles auswählen
import shutil
from tempfile import mktemp
source_path = input('Path to source files: ')
final_path = mktemp(prefix='tmp_iso_', dir='/media')
shutil.copytree(source_path, final_path)
die Variable final_path muss weiter gegeben werden
Danke im Vorraus
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:35
von Hyperion
RSMVDL hat geschrieben:
Wie gebe ich dem 2en Script den eindeutigen Pfad mit?
Ich weiß nicht genau, ob ich Deine Frage richtig verstehe. Du kannst einem Script Parameter übergeben; dazu kannst Du z.B. das ``argparse``-Modul benutzen.
Oder willst Du den Pfad "automatisch" an das zweite Script übergeben? Das geht nicht so ohne weiteres...
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:39
von RSMVDL
Ja genau das würde ich gerne machen

also quasi das der eindeutige Pfad dem 2ten Script bekannt ist!
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:46
von xeike
Wie rufen sich denn deine Skripte auf?
- 1. Du könntest es über Funktionen lösen. Hierbei wird Skript 2 einfach per import eingebunden
2. Über eine Pipe
./foo.py | ./bar.py
3. Über eine Datei in die Skript 1 seine Ausgabe schreibt und von der Skript 2 liest
4. Durch ein Monitor-Programm, welches die beiden Skripte nacheinander aufruft und die Ein- und Ausgaben verwaltet
5. Socket, Shellvariable, ...
6. Schreiben eines Python-Moduls durch Skript 1, welches von Skript 2 importiert wird,
Xe
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:50
von RSMVDL
Ich merk schon das wird ein gewirr

Ich schreib doch mal lieber alles in eins rein

Wie würde ich denn das 2te Script in das erste einhängen. also nur rein von der Syntax her?
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 19:52
von xeike
RSMVDL hat geschrieben:Wie würde ich denn das 2te Script in das erste einhängen. also nur rein von der Syntax her?
Xe
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 20:16
von RSMVDL
Also müsste Script 1 so aussehen:
Code: Alles auswählen
import shutil
from tempfile import mktemp
#Source in Temp_Datei umwandeln
source_path = input('Path to source files: ')
final_path = mktemp(prefix='tmp_iso_', dir='/media')
shutil.copytree(source_path, final_path)
#Datei editieren
import preparing.py
und Script 2 so:
Code: Alles auswählen
import os
from inject import final_path
os.path.isfile(final_path)
???
Wobei kann das
nicht weg?
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 20:24
von xeike
RSMVDL hat geschrieben:Also müsste Script 1 so aussehen:
Falls du das analog zu meinem Vorschlag #6 meinst: Nein!
skript1 erzeugt eine Datei mit dem Namen "superpfad.py". Der Inhalt der Datei ist eine Variable mit dem Inhalt des Pfades, den du weiterreichen möchtest.
skript 2 importiert superpfad.py, liest die darin enthaltene Variable aus und freut sich.
Edit1: Zählen müsste man können

#1->#6
Re: Weitergabe von Variablen
Verfasst: Dienstag 16. April 2013, 20:44
von Sirius3
@RSMVDL: nein, Du schreibst keine Skriptdateien, die nacheinander importiert werden, sondern einzelne Funktionen, die nacheinander aufgerufen werden, ob die nun in einer Datei oder mehrere sind, ist dann egal.