2
託管IronPython的允許開發人員設置參數爲腳本導入文件。每次創建一個IPy引擎對象時,我都會設置這樣一個參數(ParamName),但是當我嘗試導入使用我的自定義參數的python模塊時,我得到一個帶有「全局名稱」參數的異常「ParamName」定義」。
代碼示例
class PythonScriptingEngine
{
private ScriptEngine pyEngine;
private ScriptScope pyScope;
public PythonScriptingEngine()
{
pyEngine = Python.CreateEngine();
pyScope = pyEngine.CreateScope();
}
public object Run(string script)
{
ScriptSource source = pyEngine.CreateScriptSourceFromString(script);
CompiledCode compiled = source.Compile();
return compiled.Execute(pyScope);
}
public void SetParameter(string name, int value)
{
pyScope.SetVariable(name, value);
}
}
// execution
var engine = new PythonScriptingEngine();
engine.SetParameter("ParamName", 10);
engine.Run(@"import SampleScriptWithParamName");
問題
有任何解決方法,以這種情況呢?如何導入使用自定義參數的python腳本?
您能否提供一些源代碼片段以闡明您正在嘗試完成的內容?你是否在範圍上設置了一個變量,通過範圍啓動一些腳本文本並從該腳本文本導入另一個模塊? –
我在範圍上設置了一個變量,然後我試圖導入使用這個變量的* .py文件。 – CaptainRR
請看Q:http://stackoverflow.com/q/3400525和A:http://stackoverflow.com/a/3400652/468244。我認爲你的問題是非常相似和更多的蟒蛇比蟒蛇相關。 –