小编use*_*031的帖子

从golang的包中获取导出函数的列表

假设我有一些包裹

// ./somepkg/someFile.go
package somepkg
import "fmt"
func AnExportedFunc(someArg string) {
    fmt.Println("Hello world!")
    fmt.Println(someArg)
)
Run Code Online (Sandbox Code Playgroud)

然后从我的主要go文件导入

// ./main.go
package main
import (
    "./somepkg" // Let's just pretend I have the full path written out
    "fmt"
)

func main() {
    fmt.Println("I want to get a list of exported funcs from package 'somefolder'")
}
Run Code Online (Sandbox Code Playgroud)

有没有办法从软件包“ somepkg”访问导出的函数,然后调用它们?参数编号/类型在somepkg中的所有函数之间将是一致的。我已经查看了反射包,但不确定是否可以获取列表并调用函数而不知道包名以外的任何信息。但是,我可能会缺少godocs中的某些内容,因此不胜感激。我想要做的基本上是拥有一个系统,人们可以在其中插入.go文件,作为一种“插件”。这些“插件”将具有一个导出的函数,主程序本身将使用一致的数量和类型的args对其进行调用。对此代码库的访问受到限制,因此贡献者可以随意执行任何代码,因此不会产生安全隐患。

注意:所有内容均已编译,因此没有运行时限制

我想做的是用python写的东西

# test.py
def abc():
    print "I'm abc"

def cba():
    print "I'm cba"
Run Code Online (Sandbox Code Playgroud)

# foo.py
import test
flist = filter(lambda fname: fname[0] != "_", …
Run Code Online (Sandbox Code Playgroud)

go

5
推荐指数
1
解决办法
2821
查看次数

在SQLite(Python)中将变量字符串传递给LIKE

所以我一直在寻找,但我似乎无法找到一个看似简单且可能是常见问题的答案.在SQLite中,我有一个我想通过用户定义的搜索文本传递的查询.

search = xChatMessageSplit[2]

c.execute("SELECT * FROM captured WHERE Nick=? AND Name LIKE '%search%'",(xChatNick,search))
Run Code Online (Sandbox Code Playgroud)

显然语法或其他什么是不正确的,因为我收到错误,但我想基本上允许用户为字符串定义搜索词,"搜索".我该怎么做呢?我尝试使用REGEXP,但我似乎无法弄清楚如何定义函数,所以我想我会用LIKE,因为它已经在SQLite3中实现

python sqlite string variables sql-like

2
推荐指数
1
解决办法
2469
查看次数

标签 统计

go ×1

python ×1

sql-like ×1

sqlite ×1

string ×1

variables ×1