首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
华为云
V2EX  ›  Python

Python 调用 C 语言.SO 动态库中的函数时提示 AttributeError: function()

  •  
  •   wsds · 78 天前 · 778 次点击
    这是一个创建于 78 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如下图所示,库文件已经 load 成功了,但调用里边的方法时,却提示 AttributeError,是哪里不对

    206oUt.png

    ============output==========

    Traceback (most recent call last):
      File "call_c.py", line 26, in <module>
        call()
      File "call_c.py", line 22, in call
        dout = lib.Init(json.dumps(args))
      File "/usr/local/lib/python3.4/dist-packages/cffi/api.py", line 882, in __getattr__
        make_accessor(name)
      File "/usr/local/lib/python3.4/dist-packages/cffi/api.py", line 877, in make_accessor
        raise AttributeError(name)
    AttributeError: Init
    
    
    8 回复  |  直到 2018-05-30 16:22:35 +08:00
        1
    wsds   78 天前
    看来要被开除了
        2
    weyou   77 天前 via Android
    ctypes 传字符串指针不能直接用 python 原生字符串啊,必须创建个 c 字符串
    ac = ctypes.create_string_buffer(json.dumps(args).encode('utf8'))
    再将给 Init 函数
        3
    wsds   77 天前
    @weyou 现在还没轮到传参啊,首先的问题是函数调不成功啊 AttributeError: Init
        4
    weyou   77 天前 via Android
    好吧,没看清你是用 cffi 调用的 c 库
        5
    dbow   77 天前
    没有调用 ffi.cdef 声明 Init 函数
        6
    wwqgtxx   77 天前
    cffi 的话必须用 cdef 定义函数,ctype 可以省略定义(只针对简单函数,而且如果不指定出入参数很容易出问题)
        7
    wsds   77 天前
    @wwqgtxx 求大神 vx 号,详情请教
        8
    wsds   77 天前
    @wwqgtxx 求帮助,可以加我我 vx 吗:xkzstyle
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2079 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1