繁体   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