目前我正在使用c#编写IronPython模块。起初我有一些空的部分类,它代表模块基础:
[assembly: PythonModule("demo", typeof(Demo.IronPythonAPI.PythonAPIModule))]
namespace Demo.IronPythonAPI
{
/// <summary>
/// Demo api module root/base
/// </summary>
public static partial class PythonAPIModule
{
}
}
在其他一些文件中,我尝试实现模块:
namespace Demo.IronPythonAPI
{
/// <summary>
/// Python api module path root (~import demo)
/// </summary>
public static partial class PythonAPIModule
{
/// <summary>
/// Python SQL-Module
/// </summary>
[PythonType]
public static class Sql
{
public static int executeNoneQuery(string query, string conName)
{
Console.WriteLine("Hello World");
return 0;
}
}
}
}
如果我现在想要使用该模块,它不起作用:
import demo
Sql.executeNoneQuery("", "")
抛出异常:
name&#39; Sql&#39;未定义
使用时
from demo import Sql
Sql.executeNoneQuery("", "")
一切正常。我做错了什么?
非常感谢!
答案 0 :(得分:2)
您应该检查 import and from import
之间的区别 在第一种情况下需要 Demo.Sql 。因此,请尝试使用Demo.Sql.executeNoneQuery("", "")