这个系利的初衷是回顾琐碎知识点 但后来发现更实用的地方在于 csdn的blink不能进行检索。汇总后 发在文章里 知识点可以被检索到。
C1
C 中cout的使用 iomanip库可以控制C 的输出
https://blog.csdn.net/qq_35481167/article/details/82792103
c i 和 i的区别
i 先引用 后增加
i 先增加 后引用
所以cout i endl 是输出i的引用 之后i的值 1
cout i endl 输出的是i 1的值
上面链接里有一个很好的例子
2
自动初始化局部变量和全局变量
3
1、打开与VS2013相关的文件 然后选择需要批量注释的代码。 2、同时按住键盘上的“ Ctrl K C”以实现快速批处理注释。 3、返回主界面 发现快速批注操作已在vs2013中完成。 [此外 您可以通过“ Ctrl K U”组合键快速批量取消注释]
4
使用Cmake编译文件
第一步 安装gcc 配置环境变量 https://blog.csdn.net/LinusZhao1018/article/details/82152960
第二步 执行cmake命令 https://zhuanlan.zhihu.com/p/59161370
期间遇到了没有生成Makefile的问题 更换编译器为gnu即可解决 https://blog.csdn.net/weixin_42660446/article/details/119650036
5
关于C vector的一些程序
#include iostream #include vector int main() std::cout Hello World!n ; std::vector int name; for (int i 1; i 5; i ) name.push_back(i); name.insert(name.begin(), -1); name.pop_back(); name.erase(name.end() - 2, name.end()); for (int i 0; i name.size(); i ) std::cout name[i] std::endl;
6
cout不换行输出
for (int i 0; i name.size(); i ) std::cout name[i] ;
换行输出
for (int i 0; i name.size(); i ) std::cout name[i] std::endl;
7
c for each循环
https://www.bilibili.com/read/cv8039359/
8
C 构造二维数组快捷方法
int m[2][2] { 1,1,2,2 };
9
【C 】cmdline —— 轻量级的C 命令行解析库
https://blog.csdn.net/xiaohui_hubei/article/details/40479811
1
linux 添加环境变量
export xxx
比如
KMP_DUPLICATE_LIB_OK TRUE
1
from glob import glob
print(glob(r’I:dummy_test_folder*’))
glob类似os.listdir()
2
yield使用策略 ①放在for循环里②使用时当做列表
3
两种创建task_work_folder的方式
for item in os.listdir(path_raw_xyz_):
addon_list_str item.split(’.’)[0]
lazy_mkdir(os.path.join(path_cooked_xyz_, addon_list_str))
这种方式顺序读取原文件夹的每一个文件 以该文件的名称命名。
for idx, item in enumerate(os.listdir(path_raw_xyz_)):
lazy_mkdir(os.path.join(path_cooked_xyz_, str(idx)))
这种方式使用enumerate函数 无法保证新建文件夹的名称和里面xyz文件的名称相同。
因为os.listdir产生的顺序是先比较第一位 再比较第二位 并且没有很好的解决办法。
4
pycharm实用技巧
选中代码行
alt ctrl l
自动调节代码间距 十分方便
5
dpdispatcher中的几个path
一种简易的 可行的方式是把
local_root, work_base设为相同的
task_work_path是该文件夹下面的各个子文件夹
remote_root是在线运行的文件夹 可以为空 存放临时文件
6
https://www.cnblogs.com/qi-yuan-008/p/12708901.html
python异常处理语句try…except…
原链接中提到 通用异常可以和特定异常混用 经过测试 异常符合特定异常标准时 通用异常不再启用
num [9,7,0,1,4, 16 ] for x in num: try: print (1/x) except ZeroDivisionError: print( error 0做除数 ) #特定异常和Exception混合使用 except Exception as e: print( the Exception is: ,e) print( ---finished!!--- )
7
装包的时候报错
Traceback (most recent call last):
File “setup.py”, line 16, in
readme f.read()
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x8b in position 241: illegal multibyte sequence
这种问题可以通过修改setup.py里面的一句话解决
8
raise和raise…from的区别
python在处理异常的时候引入了raise…from 可以显示异常间的上下文关系 方便后续debug。这种语法的限制是 raise xxx from yyy需要保证yyy异常从属与xxx异常。两个异常都将显示。
此外可以用raise…from None只显示粗放的异常 虽然不明白这样做有什么意义
https://www.cnblogs.com/qixidi/p/10160614.html
9
python二维列表 索引单个元素只能类似C语言那样 整两个[ ]
把二维列表转化为ndarray类型的变量以后 可以用一个[ ]进行索引
因为列表数据结构一直是一维的 只能先用[ ]索引一次 再用[ ]索引一次
而经过array转化以后变成了二维的数据结构 可以直接索引
10
训练神经网络 loss接连为空 可能的原因是输入数据有空、梯度爆炸、数据未归一化、网络结构不合理
11
https://www.cnblogs.com/changbaishan/p/8454511.html
python自动输出百分数 安装下面范式即可
print(f {a:%} )
12
使用cmd命令打开Jupiter文件夹
https://jingyan.baidu.com/article/7f41ecec78b8cb593d095ca8.html
13
使用df.to_excel(‘xxx.xlsx’)可将pandas里的Dataframe对象存进Excel里
https://blog.csdn.net/weixin_43952650/article/details/89296710
保存python列表数据到Excel
①列表和列表名构成字典{‘列表名’ 列表变量}
②字典转为Dataframe
③利用pandas预处理一下数据 这一步可以不用要
④df.to_excel即可
14
使用os.symlink创建软链接
15
python glob.glob使用
返回满足要求的文件
16
https://zhuanlan.zhihu.com/p/264331630
python argparser.Argumentparser()模块
首先建立一个parser对象 然后确定该对象从命令行读取哪些参数
执行 从命令行读取参数 赋值给实例化的parser对象
调用该对象。
17
列表的内置函数extend()可以实现两个列表的拼接
注 python列表都是零维的 不用担心维度的问题
也可以实现同样的功能
18
python中的int型可表示的数字理论上是无限大的 只要电脑内存够大 不用担心溢出
https://www.zhihu.com/question/65014572
原因如下
https://segmentfault.com/a/1190000015284473
简单说就是大整数被切块储存在数组里面 因此长度是动态的
19
10进制转任意 小于36 进制方法
def baseN(num, b):
return ((num 0) and “0”) or (baseN(num // b, b).lstrip(“0”) “0123456789abcdefghijklmnopqrstuvwxyz”[num % b])
20
and or运算符
21
dataframe添加数据 可以向列表一样简单
https://zhuanlan.zhihu.com/p/257083060
22
os.path.isdir()和os.path.isfile()使用时一定要注意 参数应该是绝对路径 不能是相对路径。
错了 可以是相对路径 但二者要在同一目录里
if os.path.isfile(r vasp123.txt ): print( 1 ) if os.path.isfile(r vasp123.txt ): print( 1 ) if os.path.isfile(r ..123.txt ): print( 1 ) if os.path.isfile(r ..123.txt ): print( 1 )源码修改纪录
1
修改dpdata源码记录
把’orig’键删掉即可正常运行
multisystem里面有’orig’ 需要删掉
2
dpdispatcher修改实录
run_submission脚本修改
增加了两个try…except…语句
ssh_context脚本中的download函数
修改check_exists为Ture
mark_failure为False
3
monty
serialization.py
修改实录
为了保证正常编解码 79行插入encoding ‘UTF-8’
1
SQL四种语言 DDL,DML,DCL,TCL
https://www.cnblogs.com/henryhappier/archive/2010/07/05/1771295.html
1
内存基础知识
位 bit B是数据传输的基本单位 是最小一级的信息单位
1字节(Byte) 8位(bit)
1KB( Kilobyte 千字节) 1024B
1MB( Megabyte 兆字节) 1024KB
1GB( Gigabyte 吉字节 千兆) 1024MB
1TB( Trillionbyte 万亿字节 太字节) 1024GB
1PB( Petabyte 千万亿字节 拍字节) 1024TB
C语言中
char 1个字节
int 4个字节
long 8个字节
float 4个字节 6~7位有效数字 默认显示6位
double 8个字节 15~16位有效数字 默认显示6位
字长由计算机系统决定 以位为单位 常见的有32位和64位
指计算机一次性可以处理的位数
2
python各类型变量所占内存
import sys
print(sys.getsizeof(1))
print(sys.getsizeof(1.00000000))
print(sys.getsizeof(“111111”))
print(sys.getsizeof(“1”))
print(isinstance(1,int))
输出 28,24,50,55,True
3
左右操作数、目标数
4
windows系统下文件命名是有限制的 最多255个字符 算上上级目录
5
Typora没有公式自动补全功能 可以方便地打公式
6
体心立方 body-centered cubic (bcc)
面心立方 face-centered cubic fcc
密排六方 hexagonal closepacked structure hcp
简单立方 simple cubic (sc)
金刚石结构 金刚石立方晶体结构 (diamond cubic lattice structure) (diamond) (四面体)
7
json文件编写时注意事项
记录一下json文件编写时遇到的bug
json.decoder.JSONDecodeError: Expecting value: line 69 column 25 (char 2657)
本来接收数字的地方 给了字符串
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 15 column 5 (char 557)
键值和键都要用双引号括起来
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x9c in position 1206: illegal multibyte sequence
load json文件时要注意unicode
自动编译有问题 手动编译可以解决问题。
π输入时要加包 和公式符号美元
关键词不区分大小写
中文编译用xelatex
纯英文 pdflatex biblatex pdflatex pdflatex
含中文 xelatex biblatex xelatex xelatex



