我正在使用visualstudio12创建使用C的表单。我成功地将一个参数从C传递给python。我没有用铁蟒。我正在处理的新应用程序需要向python传递两个参数。这两个参数都是用户选择的日期。
这是我捕获参数并将它们传递给Python的代码。在
private void button1_Click(object sender, EventArgs e)
{
dbegin = PublicVars.g_begindate;
dend = PublicVars.g_enddate;
CallPython python = new CallPython(@"C:\Python27\ArcGIS10.3\python.exe");
python.Run_Script(@"\\gisdb01\gis\tools\Python\TA_Report\Update_4_Road.pyc", dbegin dend);
this.Close();
}
private void dateTimePickerBegin_ValueChanged(object sender, EventArgs e)
{
PublicVars.g_begindate = dateTimePickerBegin.Text;
}
private void dateTimePickerEnd_ValueChanged(object sender, EventArgs e)
{
PublicVars.g_enddate = dateTimePickerEnd.Text;
所发生的错误会突出显示“dend”,并给出“)期望值”。我试过在dbegin和dend之间加上“’和逗号,但似乎不能让它起作用。在
我调用Python代码:
^{pr2}$任何帮助都将不胜感激。在
您的问题是您只在一个参数中传递两个变量。如果函数接受更多参数,可以在它们之间添加一个简单的逗号。在
如果只能传递一个参数,我建议将dbegin和dend变量连接在一个变量中,然后在python端,如果需要,可以将它们再次分隔成两个不同的变量。在
如果dbegin和dend是字符串,可以按如下方式进行操作。在
^{pr2}$如果它们是另一种类型,则可以将它们转换为字符串,然后将它们连接起来。在
我将更改
RunScript
以接受带有params
修饰符的参数数组。在那就换这条线
^{pr2}$为了这个
因此它将包括脚本名称和传递给它的参数。 然后这样调用它(
params
意味着您可以列出任意多个参数。在相关问题 更多 >
编程相关推荐