簡體   English   中英

如何將變量傳遞給python腳本?

[英]How to Pass variables to python script?

我知道它可以通過命令行實現,但我需要傳遞至少10個變量,命令行將意味着太多的編程,因為這些變量可能會或可能不會傳遞。

實際上我已經在vB(用於GUI)中構建了一半應用程序,在python中構建了一半應用程序(用於腳本)。 我需要將變量傳遞給python,類似於它的關鍵字參數,即x = val1,y = val2。 有沒有辦法實現這個目標?

如果您使用的是Python <2.7,我建議使用optparse 不推薦使用optparse,在2.7中你應該使用argparse

它使傳遞命名參數變得輕而易舉。

你可以做一些有趣的事情,如稱之為

thepyscript.py "x = 12,y = 'hello world', z = 'jam'"

在你的腳本里面

解析做:

stuff = arg[1].split(',')
for item in stuff:
    exec(item) #or eval(item) depending on how complex you get 
#Exec can be a lot of fun :) In fact with this approach you could potentially  
#send functions to your script.
#If this is more than you need, then i'd stick w/ arg/optparse

由於您使用VB處理Windows,因此值得一提的是IronPython可能是一種選擇。 由於VB和IronPython都可以通過.NET進行交互,因此您可以在程序集中包裝腳本並公開使用所需參數調用的函數。

你看過getopt模塊了嗎? 它旨在簡化命令行選項的使用。 另請參閱Dive Into Python中的示例。

如果您正在使用Python 2.7(而不是更低版本),那么您還可以查看argparse模塊 ,它應該使它更容易。

如果未經常調用腳本,則可以使用配置文件。

ConfiniParser可以輕松讀取.ini樣式

[Section_1]
foo1=1
foo2=2
foo3=5
...

[Section_2]
bar1=1
bar2=2
bar3=3
...

如果你有大量的變量,這可能是正確的方法。

你怎么看待創建一個從gui端設置這些變量的python腳本? 啟動python應用程序時,您只需啟動此腳本即可擁有自己的變量。

的execfile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM