I have two python files: mainfile.py and subfile.py
mainfile.py relies on some types in the subfile.py file.
mainfile.py looks something like this.
from subfile import * my_variable = [1,2,3,4,5] def do_something_with_subfile
I am trying to load mainfile.py in C # and get the value my_varaible, but it's hard for me to find resources that adequately describe the relationship between the methods that I call, and I admittedly Know a ton about Python.
Here is what I wrote:
var engine = Python.CreateEngine(); //Set up the folder with my code and the folder with struct.py. var searchPaths = engine.GetSearchPaths(); searchPaths.Add(@"C:\ACodeFolder"); searchPaths.Add(@"C:\tools\python\lib"); engine.SetSearchPaths(searchPaths); //A couple of files. var mainfile = @"C:\ACodeFolder\mainfile.py"; var subfile = @"C:\ACodeFolder\subfile.py"; var scope = engine.CreateScope(); var scriptSource = engine.CreateScriptSourceFromFile(subfile); var compiledScript = scriptSource.Compile(); compiledScript.Execute(scope); scriptSource = engine.CreateScriptSourceFromFile(mainfile); compiledScript = scriptSource.Compile(); compiledScript.Execute(scope); scriptSource = engine.CreateScriptSourceFromString("my_variable"); scriptSource.Compile(); var theValue = compiledScript.Execute(scope);
But when this is done, the value of Value is null.
I really don't know what I'm doing. So the real question is:
How to find out my_variable value from mainfile.py? Tangentially, is there a good introductory resource for the methods available in the Python namespace, and how to really interact between C # and Python?
source share