python - 使用pyhdf时如何处理py2和py3中不同类型的np.array(list)?
问题描述
我想通过pyhdf将一些东西保存为hdf中的变量。
这是我的代码:
import numpy as np
from pyhdf.SD import *
var = 'PRESSURE_INDEPENDENT_SOURCE'
vartype = 4
hdf4 = SD('./a.hdf', 2 | 4)
dset = hdf4.create(var, vartype, (1,13))
a = 'AFGL_1976'
b = np.array([list(a.ljust(13))])
dset[:] = b
它适用于 py2 并且b.type
是|S1
.
但是,b.dtype
在<U1
py3 中,运行代码的最后一行时出现此错误:
TypeError: Cannot cast array data from dtype('<U1') to dtype('S1') according to the rule 'safe'
如果我添加b = b.astype('S1')
py3,也会出现同样的错误。但是,b.dtype
是|S1
。
解决方案
尝试:
b = np.array(list(a.ljust(13)),dtype='S1')
推荐阅读
- python - Postgres 查询从容器内部很快,但从相邻的 FastAPI/SQLAlchemy 容器调用时很慢
- c++ - WebView2 - 为了测试我的应用程序,我必须导出哪个 DLL 文件以在另一台机器上进行测试?
- apache-spark - 无法使用 log4j.properties 中指定的文件使用 sparklauncher 重定向以编程方式启动的 spark 应用程序的日志
- asp.net - 如何在 ASP.net 网站中阻止国家范围 ip
- python - Python 检查文件夹中时间段看门狗的变化
- consul - 启用但不需要 TLS 的 Consul 服务器,如何检查客户端是否使用 TLS?
- firebase - 没有为“Future”类型定义吸气剂“bodyBytes”
函数(Uri,{地图 ? 标题})' - html - 如何使弹出位置相对于整个页面而不是触发它的按钮
- intellij-idea - PyCharm git commit 拆分代码块更改
- gcc - 为什么有些 C 编译器允许在文件范围内使用 __func__?