首页
归档
逛逛与留言
关于
Search
1
执勿山爬山游记
102 阅读
2
AI的使用第二期
92 阅读
3
捏泥巴
87 阅读
4
备案了!记录下
82 阅读
5
博客捣鼓记
67 阅读
默认分类
生活随记
代码编程
看看风景
学习记录
登录
Search
标签搜索
日常
Shu
累计撰写
32
篇文章
累计收到
53
条评论
首页
栏目
默认分类
生活随记
代码编程
看看风景
学习记录
页面
归档
逛逛与留言
关于
搜索到
7
篇与
的结果
2023-07-30
如何下载气象数据
如何下载气象数据下载数据,数据网站有两个,全球气象在分析数据下载 ,这个网站可以下载气象再分析数据,但是数据的时效性会有一点的延迟,第二个:ecmwf预报网站 这个网站的数据,是预报数据,可以预报之后几天的气象数据。两者数据都有 grib 格式,需要解析。python 解析 grib 文件。首先就是 python 环境的安装,xarray 这个工具可以直接读取 grib 文件。主要有三个插件需要安装,xarray,cfgrib,eccodes 这个三个, 安装环境最后就是对 grib 解析,上面有代码,为确定‘元素’的定位方法 (时间, 经纬度), 然后用 read_data.fg10.sel(longitude=115.4,latitude=22.2,time=i.data).to_pandas() 这样去读取就可以了,read_data,使用xarray读到的数据,fg10是grib中气象的变量名,sel是一个定位的方法.ok
2023年07月30日
23 阅读
0 评论
0 点赞
2022-09-03
【C++】C++ qt 与 python 简单进程通讯
【C++】C++ qt 与 python 简单进程通讯前言准备用 C++写一个简单的文字转语音的小东西,对 C++ qt 这个怎么弄不太清楚(现在看到 qt5.8 后有个叫 QTextToSpeech 的东西),发现 python 调用一些库来进行文字转语音的发声比较简单,准备用 python 来进行接受 C++信息,转成语音。python 端python 文字转语音还比较简单,导入 pyttsx3 这个库,然后调用一下就可以了。用的 socket 通讯,python 是作为服务端接受信息。import socket # 导入 socket 模块 import pyttsx3 as py3 port = '127.0.0.1' #定义ip ip = 12345 #定义端口 #申请socket服务端对象 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建 socket 对象 s.bind((ip, int(port))) # 绑定端口 s.listen(5) # 等待客户端连接 while True: print("> 服务成功开启,等待连接") client,addr = s.accept() # 建立客户端连接 data = client.recv(2048) #一次最多接受2048个字节 receive_data = data.decode('gb18030') #接受到的信息转成这个编码,这个编码范围广一些 engine = py3.init() engine.say(receive_data) engine.runAndWait() client.close()C++端C++端作为客户端,发送消息给 python。用的 VS2013 环境,其中要把 qt 的 web socket 模块加上。在调用的地方加上 #include <QtNetwork/QtNetwork> 这是一个全局的,qtcpsocket 在里面。可能需要在配置,链接器,输入中添加 Qt5Networkd. lib 这个库。这么用的头文件里面添加了个 QTcpSocket *m_tcpClient; 指针。 QString english_word = mWordList[index].mWord;//得到英语文本信息; std::string res = english_word.toLocal8Bit().toStdString();//转成string类型; char *buff = const_cast<char *>(res.c_str());//转成char类型发送; m_tcpClient->close();//关闭之前在主程序初始化时写了m_tcpClient = new QTcpSocket(this);生成的一个m_tcpClient;这段代码就可以多次调用了; delete(m_tcpClient);//释放指针空间; m_tcpClient = new QTcpSocket(this);//新建对象; m_tcpClient->connectToHost(QHostAddress("127.0.0.1"), 12345);//建立链接; m_tcpClient->write(buff);//发送信号C++端接受数据接受数据填上一句这 m_tcpClient->waitForReadyRead(); 就可以了,下面是接收的代码m_tcpClient->waitForReadyRead(); QByteArray data = m_tcpClient->readAll(); // 读取缓冲区数据 QString received_data = QString::fromUtf8(data.data(), data.size());注意在这么用的时候,需要在. h 文件里面先创建一个 QTcpSocket *m_tcpClient 指针,在构造函数里面先生请下空间,然后在后面才可以直接 close -- m_tcpClient->close(); OK。
2022年09月03日
14 阅读
0 评论
0 点赞
1
2