2012-03-29 39 views
0

這是我的外部調用的文件夾內的.py文件從.pyw文件的方式,我能夠做成功,但想知道如何傳遞變量從這個.pyw文件到.py文件內一個文件夾。如何將pythoncard中的變量從一個文件傳遞給另一個文件?

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) 

我試圖在args []中傳遞變量,但這不是方法。請幫助我。 想找到一種方法,從.pyw給調用PY文件傳遞變量。 希望我很清楚.....

回答

0

你怎麼想通過變量?只是價值觀?在這種情況下,你的方法看起來不錯:你可以用值作爲命令行參數調用另一個Python腳本。然後,您的其他腳本應解析它收到的命令行參數,並在代碼中使用它們。

但是,可以肯定的是,您不能在當前腳本中編寫variable = 3,然後生成一個單獨的Python腳本,然後以某種方式立即使用variable

+0

我想傳遞值,我試圖給它在精氨酸= [],但收到這個錯誤>>> {「這個」:<類型的痛飲對象「wxPyEvent *」在0xc60608>,「目標」:< __main __。UserPOS_UI;在0x1c62cf0>}處的 Prasanth 2012-03-29 12:16:59

+0

您無法馬上傳遞字典。但是你可以用'蟒蛇script.py啓動Python腳本1 2 3',然後在'script.py',你可以使用'進口SYS得到的參數;打印sys.argv',這將給你'[ 'script.py', '1', '2', '3']'在這種情況下。然後可以將參數轉換爲任何類型的參數。您不能像這樣傳遞複雜的對象,除非先將其轉換爲字符串表示形式,然後使用這些值再次構造它(在另一個Python腳本中)。 – 2012-03-29 12:20:28

+0

非常感謝你,我明白了..... – Prasanth 2012-03-29 13:06:36

相關問題