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

yipeiwu_com6年前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设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python3中的md5加密实例

在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。...

解决Pycharm下面出现No R interpreter defined的问题

解决Pycharm下面出现No R interpreter defined的问题

安装Pycharm进行Python开发时,经常右下角提示No R interpreter defined,处理方式: 1、安装R,然后将R的路径添加到Pycharm中: 2、如果不需要...

python数据类型之间怎么转换技巧分享

python数据类型之间怎么转换技巧分享

python数据类型之间怎么转换?数据如果类型不对,在运行中有交集的话就会出现错误,那怎么让两个类型的数据变成同一个类型的呢 首先是字符串,在引号里面的内容都是字符串,包括数字...

python获取各操作系统硬件信息的方法

本文实例讲述了python获取各操作系统硬件信息的方法。分享给大家供大家参考。具体如下: 1. windows 使用WMI: (WMI官网地址:http://pypi.python.or...

python+selenium识别验证码并登录的示例代码

python+selenium识别验证码并登录的示例代码

由于工作需要,登录网站需要用到验证码。最初是研究过验证码识别的,但是总是不能获取到我需要的那个验证码。直到这周五,才想起这事来,昨天顺利的解决了。 下面正题: python版本:3....