目前我正在编写在c#中编写Iron
Python模块.起初我有一些空的部分类,它代表模块基础:
[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 ‘Sql’ is not defined
使用时
from demo import Sql
Sql.executeNoneQuery("", "")
一切正常.我做错了什么?
非常感谢你!
最佳答案 你应该检查
import and from import之间的区别
在第一种情况下需要Demo.Sql.所以请尝试使用Demo.Sql.executeNoneQuery(“”,“”)代替