| 123456789101112131415161718192021222324252627282930313233 |
- package python
- // See:
- // https://docs.python.org/3/c-api/import.html
- import (
- "unsafe"
- )
- /*
- #define PY_SSIZE_T_CLEAN
- #include <Python.h>
- */
- import "C"
- func Import(name string) (*Reference, error) {
- name_ := C.CString(name)
- defer C.free(unsafe.Pointer(name_))
- if import_ := C.PyImport_ImportModule(name_); import_ != nil {
- return NewReference(import_), nil
- } else {
- return nil, GetError()
- }
- }
- func ReloadModule(module *Reference) (*Reference, error) {
- if module_ := C.PyImport_ReloadModule(module.Object); module != nil {
- return NewReference(module_), nil
- } else {
- return nil, GetError()
- }
- }
|