V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  justou  ›  全部回复第 8 页 / 共 12 页
回复总数  239
1  2  3  4  5  6  7  8  9  10 ... 12  
2017-11-27 19:49:21 +08:00
回复了 PHizing 创建的主题 Python 怎么把 bytearray 转换为二进制数据?
你保存的是 python 字典, 它的值是个 bytearray 对象, 不论是 bytes 还是 bytearray, 你把它以字符串形式输出来的时候都是那样显示的(这个是由它的__str__方法决定的), 至于你说的要传递给 C++处理, 意思是要传递一个 python 的 bytes 或 bytearray 给 C++么? 这有很多方法, 通过 Cython 搭桥是最直观简单的.

你想的大概是这样的 C++可以直接处理的二进制数据:

from struct import pack
bin_val= bytearray("123abc 呵呵", encoding='utf-8')
with open("test_bin.bin", 'bw') as fout:
fout.write(pack('%ss'%len(bin_val), bin_val))

随便找个 hex editor 检查下 test_bin 就很清楚了

https://docs.python.org/3/library/struct.html#module-struct
2017-11-27 10:58:50 +08:00
回复了 livc 创建的主题 互联网 好像明白了为什么叫 jd 二手东。。
2017-11-06 19:46:28 +08:00
回复了 linxy19957 创建的主题 Python ctypes 库里的 create_string_buffer 缓冲区能被截断吗?
试试 memoryview
2017-11-03 09:37:39 +08:00
回复了 zhiqiang 创建的主题 C C++的跨平台方案(如何解决不带 bom 的 utf8 源文件无法用 vs 编译)
@enenaaa 对, 像这种警告: warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss, 之前使用一些第三方库时遇到过很多
2017-11-03 09:33:36 +08:00
回复了 zhiqiang 创建的主题 C C++的跨平台方案(如何解决不带 bom 的 utf8 源文件无法用 vs 编译)
@zhiqiang 试了下, 加了注释中文,也没问题(VS2015 企业版 update3). 因为我想在 VS 里面默认保存 no bom utf8 之前在网上搜索过方案, 也找到了(见 5L), 如果连 VS 都不能支持 no bom 的话, 那个插件几乎没啥用了
2017-11-03 09:10:10 +08:00
回复了 zhiqiang 创建的主题 C C++的跨平台方案(如何解决不带 bom 的 utf8 源文件无法用 vs 编译)
@wwqgtxx 对,我就是用无 BOM 的 utf8, cout 了一行字符串, 因为源文件是 utf-8 no BOM 的, 只有在这种情况下 cl 才会按照源文件编码读入字符串字节, 其它情况下似乎都会按照本地编码读入字符串, 除非字符串字面量用 u8 等修饰符(u8"utf8 编码的字面量", c++11), 我用的 notepad++创建的 3 个文件, 内容都是:

#include <iostream>

int main()
{
std::cout << "VS UTF-8 BOM 问题" << std::endl;
return 0;
}

一个是本地的 cp936 编码, 一个是 utf8 no bom, 另一个 utf8 with bom. 控制台输出分别是:

cp936: VS UTF-8 BOM 问题

utf8 no bom: VS UTF-8 BOM 闂 (cp936 去解码 utf8 编码的字符串, "问题"乱码了)

utf8 with bom: VS UTF-8 BOM 问题 (有 bom 的 utf8 字符串字面量还是按照 cp936 的字节读入的,所以正常)

VS2015 编译没遇到任何错误或警告.

测试工程: 链接: http://pan.baidu.com/s/1slVyEW9 密码:didy
2017-11-02 22:20:13 +08:00
回复了 woshichuanqilz 创建的主题 Python 如何用 openCV 识别这个图上的道路的位置?
你是想把道路给分割出来么?
2017-11-02 22:12:49 +08:00
回复了 zhiqiang 创建的主题 C C++的跨平台方案(如何解决不带 bom 的 utf8 源文件无法用 vs 编译)
哪个版本的 VS? 我试了下 VS2015 的, 没有要求 utf8 的源文件必须要有 BOM, 它自己也可以保存为没有 BOM 的 utf8, 但是每个文件都得手动保存(有个自动保存的插件 https://vlasovstudio.com/fix-file-encoding/), 也可以一个脚本全部批量加 BOM 嘛
@qi1070445109 非互联网数据,实地采集,不是写爬虫

@yunkchen 没得专门的 C++程序员,这些任务都分摊在算法身上了,所以本司招算法会 C++是个很大的加分项,学习时间比较充裕,大概 30%的时间在为项目 coding,70%在自由学习(不排除在为项目学习新的技能),真正忙得团团转的是前端后端 UI (总想搞个逼格高的界面出来)
个人经历:

有项目的时候,根据需求,做实验,采集数据,用 Python 或者 MATLAB 初步实现算法,测试算法,差不多的时候改写成 C++库,给后端 C#调用;

没项目的时候,看书,交流学习。

如果项目比较急,要实现的功能比较多,一个算法是忙不过来的
2017-10-30 11:40:24 +08:00
回复了 huanyingch01 创建的主题 C C++ set 无法正确重载
模板重载解析,应该把完整代码贴出来。

模板有点复杂,最近在看这本书 C++ Templates: The Complete Guide (2nd Edition),http://www.tmplbook.com/ , 网上有 PDF 下载
2017-10-27 23:01:07 +08:00
回复了 ericgui 创建的主题 Python 准备学 Python 了,请问 Python 的环境配置一般怎么办?
@ericgui embed 这个发行版主要是用来 windows 上嵌入其它应用程序的,比如有个应用程序主要是 C++写的,其中有部分功能是由 python 实现的,要运行该应用的话需要环境中安装有对应版本的 python, 而从 python3.5 后官方发行了 embed 版本,方便将 python 嵌入其它语言写的应用(将其解压到应用程序 exe 目录就可以了),运行这个应用时需要的 python 环境都在 embed 版本中了,系统中不需要安装对应版本的 python。
2017-10-27 22:33:06 +08:00
回复了 prophetyy18 创建的主题 Python python3.6 安装 autopy3 遇到问题
带不动带不动,我不是写爬虫的
2017-10-27 22:00:36 +08:00
回复了 prophetyy18 创建的主题 Python python3.6 安装 autopy3 遇到问题
@prophetyy18 啥子书,没说怎么编译么?我没写过啥爬虫,只用 requests,bs4 做过一些简单采集
2017-10-27 20:27:21 +08:00
回复了 prophetyy18 创建的主题 Python python3.6 安装 autopy3 遇到问题
试了下,py2.7 下安装成功了。spynner 依赖的是 autopy 不是 autopy3。autopy 是纯 C 写的扩展,我用 vs2015 编译时出现 int_fast16_t,uint_fast16_t 重定义的错误,跟 stdint.h 里面的冲突了, 把 ms_stdint.h 里面的注释掉再编译,发现又依赖 libpng。。。 于是在这儿 http://www.lfd.uci.edu/~gohlke/pythonlibs/#autopy 下了个编译好的,接着在 py2 下 pip install spynner 就成功了。 在 github 看了眼 spynner,发现老早就没维护了╮(╯_╰)╭

(修改 spynner 的 setup.py 把依赖强行改成 autopy3 在 py3.6 下也安装失败了。于是又多了一个坚持 py2 的理由→_→)
2017-10-23 11:40:23 +08:00
回复了 dekira 创建的主题 C C++可以用变量定义数组了么
编译期常量定义数组大小(c++11)
constexpr int a = 10;
int b[2 * a] = { 0 };

C99 标准开始似乎才有这种变长数组写法
void f(size_t a){
int arr[a];
...
}
因为是分配在栈上的, 所以用得不对直接炸栈
2017-10-18 21:03:51 +08:00
回复了 fengxuejianshi 创建的主题 Python 没实际工作需要怎么坚持提升 Python 姿势水平
拿来各种玩啊, 写代码不图个好玩还图啥
2017-10-17 16:17:28 +08:00
回复了 goodryb 创建的主题 Python pyinstller 打包 pyqt5 开发的小程序,打开就崩溃
令人奔溃的奔溃信息没有啊, 试试用--onedir 打包看有错没得, 再加上--debug 打包看看能不能得到错误信息.

https://pyinstaller.readthedocs.io/en/stable/when-things-go-wrong.html

以前也折腾过, 在 windows 上也打包过好几个程序呢, pyinstaller 注意事项还是比较多, 研究下它的文档吧
2017-10-17 15:57:24 +08:00
回复了 northisland 创建的主题 Python 问 2 个关于 Python 的简单问题。困扰我很久
with 是上下文管理器语法, 它保证它经手的资源在退出 with 块后被正确释放, 即使发生了异常.

如果没有发生异常, 第一种情形可以不用 json_obj=None, 退出 with 块后 json_obj 继续存在;

如果发生了异常, 第一种情形 json_obj 未定义, 但是文件会被正确关闭. 但是第二种情形文件不会被正确关闭(json_obj 同样未定义), 直到程序结束.
2017-10-13 09:56:11 +08:00
回复了 rogwan 创建的主题 Python 相比 Python 代码, Cython 实际提升的性能有多大?
可以提升至 C/C++效率, 兼容性是 C/C++的兼容性(毕竟 cython 转译出来的就是.c/.cpp)
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5582 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.