2012-03-29 2 views
0

ist die Art, wie ich nenne eine Py-Datei in einem Ordner aus einer .pyw Datei außerhalb, ich bin in der Lage, dass erfolgreich zu tun, sondern will wissen, wie ich Variable aus dieser .pyw Datei an die .py Datei passieren kann innerhalb ein Ordner.Wie übergeben Sie die Variable in Pythoncard von einer Datei in eine andere? Diese

if int(verfyUser) == int(Username): 
    path = self.application.applicationDirectory 
    name = "User_UI" 
    path = os.path.join(self.application.applicationDirectory, name) 
    if os.path.exists(os.path.join(path, name + ".pyw")): 
     filename = os.path.join(path, name + ".pyw") 
    else: 
     filename = os.path.join(path, name + ".py") 
    args = [] 
    if ' ' in filename: 
     filename = '"' + filename + '"' 
    python = sys.executable 
    self.close() 
    if ' ' in python: 
      pythonQuoted = '"' + python + '"' 
    else: 
     pythonQuoted = python 
    os.spawnv(os.P_NOWAIT, python, [pythonQuoted, filename] + args) 

Ich habe versucht, die Variablen in args [] übergeben, aber das ist nicht der Fall. Bitte hilf mir. Möchten Sie einen Weg finden, die Variable aus .pyw an die aufruf py-Datei zu übergeben. Hoffnung i klar bin .....

Antwort

0

Wie wollen Sie die Variablen übergeben möchten? Nur die Werte? In diesem Fall scheint Ihre Vorgehensweise gut zu sein: Sie können das andere Python-Skript mit den Werten als Befehlszeilenargumente aufrufen. Ihr anderes Skript sollte dann die empfangenen Befehlszeilenargumente analysieren und im Code verwenden.

Aber um sicher zu sein, können Sie variable = 3 nicht in das aktuelle Skript schreiben, dann spawnen Sie ein separates Python-Skript und dann verwenden Sie sofort variable.

+0

Ich möchte Wert zu übergeben, ich versuchte es in arg = [], geben aber immer diese Fehlermeldung >>> { 'this': , 'Ziel': < __main __. UserPOS_UI; Proxy von >}. mache ich richtig, bitte helfen. – Prasanth

+0

Sie können kein Wörterbuch sofort weitergeben. Aber Sie können ein Python-Skript mit 'Python script.py 1 2 3' und dann in' script.py' starten, können Sie die Argumente erhalten mit 'import sys; print sys.argv', was in diesem Fall '['script.py', '1', '2', '3']' ergibt. Sie können dann die Argumente in ihren Typ konvertieren. Sie können komplexe Objekte nicht einfach so übergeben, es sei denn, Sie konvertieren sie zuerst in eine Zeichenfolgendarstellung und dann konstruieren Sie sie erneut (im anderen Python-Skript), indem Sie diese Werte verwenden. –

+0

Vielen Dank, ich bekomme es ..... – Prasanth

Verwandte Themen