Python3几个常见问题的处理方法

yipeiwu_com7年前Python基础

1. 编码问题:

遇到了几个字符串转换问题,总结如下:

# str to bytes 
str.encode(s)
# bytes to str 
bytes.decode(b)

判断编码方式可用chardet模块的chardet.detect(content)来协助。

2. char *有地址取内容:

strcontent = string_at(addr, -1)

3. 从动态链接库中获取函数并调用ctypes

from ctypes import *
dll = CDLL("YourAPP.dll")
dll.YourFunction()

4. 从dll中调用c程序,返回char*的情况处理

本来在32位下用string_at就可以解决,但是换成64位后内存访问出错。所以改用restype,终于解决。

#32位可行,64位出错:
result = dll.function()
result = string_at(result, -1)
print(result)
#后来改成用restype,32位/64位通用
dll.function.restype = c_char_p
result = dll.function()
print(result)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

使用python动态生成波形曲线的实现

使用python动态生成波形曲线的实现

效果是这个样子的: 用到的模块: * matplotlib.pyplot * matplotlib.animation.FuncAnimation * numpy 三个圆的半径分...

PyQt5显示GIF图片的方法

PyQt5显示GIF图片的方法

使用QMoive方法实现 导入库文件 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QMovi...

Python 命令行非阻塞输入的小例子

 随手google咗一下,基本上都用select实现非阻塞监听,但问题是,监听的是用select之后是不能像getchar()那样,即时收到单个字符的输入,必须要等待回车。 &...

对python for 文件指定行读写操作详解

1.os.mknod(“test.txt”) #创建空文件 2.fp = open(“test.txt”,w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 详...

Python嵌套式数据结构实例浅析

本文实例讲述了Python嵌套式数据结构。分享给大家供大家参考,具体如下: 嵌套式数据结构指的是:字典存储在列表中, 或者列表作为值存储在字典中。甚至还可以在字典中嵌套字典。 1 字典列...