我正在尝试使用Ironpython在.NET中使用一个Python代码,但是一个导入的库存在问题,如何解决此异常?
当我尝试执行代码时,返回此异常: IronPython.Runtime.Exceptions.ImportException:'没有名为automata.fa.dfa的模块'
Python代码:
class Automato:
def CalculaAutomato(self):
from automata.fa.dfa import DFA
dfa = DFA(states={'q0', 'q1', 'q2'},
input_symbols={'0', '1'},
transitions={
'q0': {'0': 'q0', '1': 'q1'},
'q1': {'0': 'q0', '1': 'q2'},
'q2': {'0': 'q2', '1': 'q1'}
},
initial_state='q0',
final_states={'q1'})
if(dfa.accepts_input('01a10110')):
print("accept")
dfa.read_input('01a10110')
#print(c)
else:
print('reject')
Python项目: Python Project Image
代码C#:
var engine = Python.CreateEngine();
ICollection<string> Paths = engine.GetSearchPaths();
Paths.Add(@"C:\Users\dougl\source\repos\Automato\Automato\automata\base");
Paths.Add(@"C:\Users\dougl\source\repos\Automato\Automato\automata\fa");
Paths.Add(@"C:\Users\dougl\source\repos\Automato\Automato\automata\pda");
Paths.Add(@"C:\Users\dougl\source\repos\Automato\Automato\automata\tm");
engine.SetSearchPaths(Paths);
dynamic py = engine.ExecuteFile(@"C:\Users\dougl\source\repos\Automato\Automato\Automato.py");
dynamic automato = py.Automato();
automato.CalculaAutomato();
我希望python中的结果出现在.NET中以与WinForms一起使用