Loading

06 2020 档案

摘要:关联 Multiprocessing : use tqdm to display a progress bar 方法 使用Pool多进程并行处理任务并返回结果 需要对进度条进行特殊处理 tqdm方法 from multiprocessing import Pool import tqdm impor 阅读全文
posted @ 2020-06-30 11:24 azureology 阅读(7273) 评论(1) 推荐(0)
摘要:背景 Vmware有一个非常强大的功能snapshot,可以将硬盘变为只读并记录更改,支持随时退回。 然而该功能仅在VMware Workstation Pro中被支持,非商用免费Player无此功能。 考虑通过windows自带的vhd差分磁盘间接实现。 准备 创建虚拟机,路径D:\VM\ 分配处 阅读全文
posted @ 2020-06-29 16:00 azureology 阅读(1877) 评论(3) 推荐(0)
摘要:更新 可使用pip download直接下载whl文件和依赖,如pip download pandas默认目录为./ 背景 内网开发环境无法使用pip下载扩展package,考虑使用离线导入方式进行安装。 方法 以progressbar为例,手动访问http://pypi.doubanio.com/ 阅读全文
posted @ 2020-06-23 08:29 azureology 阅读(495) 评论(0) 推荐(0)
摘要:背景 在code中写入参数和路径等配置会导致编译后无法更改,使用配置文件可提高代码维护性。 Python自带的configparser支持通用的ini配置文件,可以获取不同分组下的键值对。 测试 示范配置文件: #conf.ini [Path] Player = D:\Program\vlc.exe 阅读全文
posted @ 2020-06-22 17:03 azureology 阅读(363) 评论(0) 推荐(0)
摘要:前言 对于一些设计操作系统的任务,第一想到Python调用os.system()函数调用shell命令。 简单的流程控制,决定直接编写shell脚本,顺便也能熟悉shell的语法。 数组 类似其他语言,shell也支持数组,不过仅限一维,对于矩阵等高维数组只能间接实现。 声明方法1 直接赋值,以空格 阅读全文
posted @ 2020-06-20 00:08 azureology 阅读(764) 评论(0) 推荐(0)
摘要:前言 因为没有加入iOS开发者计划,使用个人ID登录Xcode进行真机调试。 某天突然提示Build Failed,仔细检查报错显示Provisioning Profile Expires需要renew 解决 确保Mac已连接到网络 打开Xcode 项目选择左侧顶端project在右边找到TARGE 阅读全文
posted @ 2020-06-18 12:11 azureology 阅读(2279) 评论(0) 推荐(0)
摘要:问题 使用旧版本Qt Creator执行CMake始终为release模式,无法断点调试。 解决 执行CMake传入自定义参数-DCMAKE_BUILD_TYPE=Debug即可看到Build type变为debug。 阅读全文
posted @ 2020-06-18 11:54 azureology 阅读(492) 评论(0) 推荐(0)
摘要:一次偶然翻看pip包的时候,发现作者代码里的注释竟然支持高亮语法,骚话连篇,这里整理一下支持的关键字。 TODO: 明天再说 No problem, but addtional code needs to be written (usually when you are skipping somet 阅读全文
posted @ 2020-06-16 21:07 azureology 阅读(828) 评论(0) 推荐(0)
摘要:需求 手上有个项目需要解析xml数据,参考写爬虫的经验,容易想到使用XPath语句进行节点导航。 XPath 是一门在 XML 文档中查找信息的语言,用于在 XML 文档中通过元素和属性进行导航。 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件 阅读全文
posted @ 2020-06-16 20:25 azureology 阅读(1438) 评论(0) 推荐(0)
摘要:网上看到很多有关分割矩阵的方法,多半用到 np.split() np.vsplit() np.hsplit() 这些函数实现均等分割,如何实现不均等分割? 想起了Matlab中常用的切片操作[:,:] >>> RTmat matrix([[1, 4, 5, 1], [2, 8, 7, 1], [3, 阅读全文
posted @ 2020-06-11 22:40 azureology 阅读(315) 评论(0) 推荐(0)
摘要:##首先 在vscode下给wsl安装C/C++插件,注意不是LOCAL ##其次 打开wsl remote terminal并安装gdb 速度过慢参考wsl安装Ubuntu16.04+Python2.7换源 $ sudo apt install gdb ##最后 在cpp文件目录下创建.vscod 阅读全文
posted @ 2020-06-11 18:31 azureology 阅读(1023) 评论(0) 推荐(3)
摘要:我们都知道用def声明函数,这里说几个很少注意的细节。 指定类型 Python不同于C语言,声明函数无需严格指定参数和返回值的类型,若需要指定可以用以下方法 def LL2UTM(Lat: float, Lon: float)->(float,float): x,y = 0,0 pass retur 阅读全文
posted @ 2020-06-04 19:30 azureology 阅读(265) 评论(0) 推荐(0)
摘要:绘制特殊图表时,希望横轴显示自定义内容(如年份)而非坐标值 可以使用如xticks实现 import matplotlib.pyplot as plt plt.figure(tight_layout = True) x = range(10) h = [10, 3, 4, 8, 2, 6, 5, 1 阅读全文
posted @ 2020-06-04 19:05 azureology 阅读(563) 评论(0) 推荐(0)
摘要:问题 安装Python3.7的Anaconda跑程序无法import numpy 报错ImportError: DLL load failed: 找不到指定的模块 但是在Jupyter QtConsole下可以正常导入 解决 既然在全家桶下正常使用,应该是PATH配置问题 资料指出这个问题可能是li 阅读全文
posted @ 2020-06-04 13:22 azureology 阅读(348) 评论(0) 推荐(0)
摘要:用法 通过ls -l结合简单的正则表达式可以返回想要的结果,如何统计具体数量? 使用wc -l命令统计行数,例如统计zip文件数量 ls -l *.zip | wc -l 拓展 wc [-clw][--help][--version][文件...] 参数: -c或--bytes或--chars #只 阅读全文
posted @ 2020-06-04 13:14 azureology 阅读(710) 评论(0) 推荐(0)
摘要:自动化测试工作常需要shell中同时运行多个命令,或者多个shell同时运行 如果直接按顺序写在.sh文件里则会等待上一条指令完成后继续下一条,不满足要求 解决方案1 在shell脚本命令结尾加上&表示后台运行,如./run.sh & 输出信息会打印到当前终端且后续命令继续执行。 **注意:**此方 阅读全文
posted @ 2020-06-04 13:06 azureology 阅读(4066) 评论(0) 推荐(1)
摘要:诉求 由于一些内网环境无法使用pip命令安装python三方库,寻求一种能够离线安装pytorch的方法。 方法 由于是内网,首选使用Anaconda代替Python,这样无需手动配置numpy等额外依赖。 访问pytorch离线下载网址根据系统和CUDA版本选择自己需要的whl文件 一共有两个,p 阅读全文
posted @ 2020-06-04 10:25 azureology 阅读(4413) 评论(0) 推荐(0)
摘要:偶然间阅读资料发现Linux发行版内置了英语词典,随手用Python写个小程序进行词语接龙 **规则:**用户给出第一个词,系统根据结尾随机给出一个相同开头的词,如此反复 用户词不得重复,单词表中也不含缩写符号的词 代码如下 #!/usr/bin/python3 from random import 阅读全文
posted @ 2020-06-03 23:47 azureology 阅读(514) 评论(0) 推荐(0)
摘要:更新 若发行版包含pgrep工具则可讲命令简化为 kill -9 `pgrep app` 需求 运行脚本调用其他程序有人值守可以用^C终止运行 若需自动化则要借助kill -9 [pid]终止进程,例如我们需要终止名称中含有app的进程 用法 ps -ef | grep app | grep -v 阅读全文
posted @ 2020-06-03 19:30 azureology 阅读(444) 评论(0) 推荐(0)
摘要:用法 使用Shell脚本自动化调参需要对文件进行修改 最初想到调用python进行字符串处理,通过正则表达式匹配然后修改,比较麻烦 偶然发现shell其实自带sed命令可以处理这个问题 #!/bin/bash sed -i "26c Delay = $1" camera.lua 运行上述脚本./ca 阅读全文
posted @ 2020-06-03 19:18 azureology 阅读(11481) 评论(0) 推荐(0)
摘要:shell和python不同,单双引号有不同的含义。另外Shell脚本复制变量是不可以随意加空格的,加空格后变量会被识别为命令随后报错。 阅读全文
posted @ 2020-06-03 19:06 azureology 阅读(153) 评论(0) 推荐(0)
摘要:有时候会在项目文件夹中看到*.pyc文件,打开一堆乱码,有何作用? 其实pyc是python将py文件编译后产生的(可能叫解释更加严谨) 和py一样可以直接运行 使用pyc文件代替py可以保护源码同时提高程序执行效率 如何生成? import py_compile py_compile.compil 阅读全文
posted @ 2020-06-03 18:57 azureology 阅读(470) 评论(0) 推荐(0)
摘要:Python面向对象的开发肯定离不开class,有点类似C语言的struct可以抽象描述对象并返回数据于方法。 例如,建立一个class描述笛卡尔坐标系中的点: class point(): def __init__(self, x, y): self.x = x self.y = y self.n 阅读全文
posted @ 2020-06-03 18:50 azureology 阅读(758) 评论(0) 推荐(0)
摘要:对于一些常用功能,在控制面板找到相应设置项效率很低。 这里总结一些*.cpl文件可以直接在运行调用,提高效率。 ncpa.cpl #网络连接(常用) sysdm.cpl #系统属性(计算机名、虚拟内存等) appwiz.cpl #卸载程序(常用) powercfg.cpl #电源选项(平衡性能以及关 阅读全文
posted @ 2020-06-03 18:25 azureology 阅读(969) 评论(0) 推荐(0)
摘要:用法 $ rm -rf !(a.out|install.sh|main.c) 上述命令将删除a.out install.sh main.c之外的所有文件(夹) 阅读全文
posted @ 2020-06-02 23:28 azureology 阅读(354) 评论(0) 推荐(0)
摘要:项目中需要判断两条线段的相似程度并给出得分 容易想到利用OpenCV中的Hough变换将直线变为Hough空间中的点 再求参考点与观测点在Hough空间中的距离 上述方法理论可行,实际操作中存在偏差 例如直线y = kx + b变换为(k,b)后很容易受到斜率k的影响而离群,实则b差别较小 上图,因 阅读全文
posted @ 2020-06-02 23:04 azureology 阅读(3575) 评论(2) 推荐(0)
摘要:遗传算法 应用广泛,易出现局部最优解,运算耗时长 粒子群算法 可实现快速收敛,但极可能陷入停滞 人工势场法 计算简单,但有可能无法抵达目标点的特点 蚁群算法 在规划性能及速度均相对较好 扩展 什么是语义分割? 从像素级别理解图像,属于同一要素的归为一类,更进一步为实例分割。 阅读全文
posted @ 2020-06-02 22:13 azureology 阅读(491) 评论(0) 推荐(0)
摘要:我们知道C++中0x开头代表 Hex 十六进制 而0开头代表 Oct 八进制只允许0-7的数 这么一想087自然是非法的了…… 缺省前缀当然就是我们最熟悉的 Dec 十进制了 阅读全文
posted @ 2020-06-02 22:10 azureology 阅读(424) 评论(0) 推荐(0)
摘要:看OpenCV项目的C++代码时对::这个符号表示不理解 查阅资料,这个符号用于标识不同范围内使用的标识符(作用域) 例如std::cout 当然,开头写了using namespace std;则可直接使用cout 通常在OpenCV中不开启using namespace cv;避免重名风险 而是 阅读全文
posted @ 2020-06-02 22:04 azureology 阅读(113) 评论(0) 推荐(0)
摘要:用C++在函数中传递参数,包括以下三种情况: 1.值传递 int find (int x) {...} y = find(z); 上例中z是实参,x是形参,形参的变化对实参没有影响。 2.地址传递(也叫引用传递) int find (int &x) {...} y = find(z); 上例中实参是 阅读全文
posted @ 2020-06-02 21:51 azureology 阅读(155) 评论(0) 推荐(0)
摘要:声明指针*代表该变量为指针,例如int *ptr 赋值时对指针赋目标地址,例如ptr = &var 注:数组可视为指向首元素的特殊指针,赋值可不加&取地址。 ptr = var 等价于 ptr = &var[0] (其中var为数组) &var 等价于 &var[0] 调用指针时ptr本身返回地址, 阅读全文
posted @ 2020-06-02 21:44 azureology 阅读(103) 评论(0) 推荐(0)