[英]How to Pass variables to python script?
我知道它可以通过命令行实现,但我需要传递至少10个变量,命令行将意味着太多的编程,因为这些变量可能会或可能不会传递。
实际上我已经在vB(用于GUI)中构建了一半应用程序,在python中构建了一半应用程序(用于脚本)。 我需要将变量传递给python,类似于它的关键字参数,即x = val1,y = val2。 有没有办法实现这个目标?
你可以做一些有趣的事情,如称之为
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模块 ,它应该使它更容易。
如果未经常调用脚本,则可以使用配置文件。
[Section_1]
foo1=1
foo2=2
foo3=5
...
[Section_2]
bar1=1
bar2=2
bar3=3
...
如果你有大量的变量,这可能是正确的方法。
你怎么看待创建一个从gui端设置这些变量的python脚本? 启动python应用程序时,您只需启动此脚本即可拥有自己的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.