GFile

shell编程

柔情痞子 提交于 2020-08-10 02:37:54
Shell编程 第一个shell脚本 编写sh脚本 #!/bin/bash echo "Hello World !" 执行 1)作为可执行程序 chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。其他二进制文件也一样。 2)作为解释器参数 /bin/sh test.sh   Shell 变量 定义: your_name="runoob.com" • 注意: 1)变量名和等号之间不能有空格; 2)命名只能使用英文字母,数字和下划线,首个字符不能以数字开头; 3)不能使用bash里的关键字(可用help命令查看保留关键字)。 使用: 只要在变量名前面加美元符号即可 echo ${your_name} 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。 只读变量: readonly 删除变量: unset   Shell 字符串 单引号字符串的限制: • 单引号里的任何字符都会原样输出

python解压压缩包的几种方式

大兔子大兔子 提交于 2020-05-02 06:43:09
这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再压缩。 tar: linux系统下的打包工具,只打包,不压缩 tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar。 rar:打包压缩文件,最初用于DOS,基于window操作系统。压缩率比zip高,但速度慢,随机访问的速度也慢。 关于zip于rar之间的各种比较,可见: http://www.comicer.com/stronghorse/water/software/ziprar.htm gz 由于gz一般只压缩一个文件,所有常与其他打包工具一起工作。比如可以先用tar打包为XXX.tar,然后在压缩为XXX.tar.gz 解压gz,其实就是读出其中的单一文件,Python方法如下: [python] view plain copy import gzip import os def un_gz(file_name): """ungz zip file""" f_name = file_name.replace( ".gz" , "") #获取文件的名称,去掉 g_file =

使用BERT预训练模型+微调进行文本分类

本秂侑毒 提交于 2020-05-02 03:55:20
本文记录使用BERT预训练模型,修改最顶层softmax层,微调几个epoch,进行文本分类任务。 BERT源码 首先BERT源码来自谷歌官方tensorflow版: https://github.com/google-research/bert 注意,这是tensorflow 1.x 版本的。 BERT预训练模型 预训练模型采用哈工大讯飞联合实验室推出的WWM(Whole Word Masking)全词覆盖预训练模型,主要考量是BERT对于中文模型来说,是按照字符进行切割,但是注意到BERT随机mask掉15%的词,这里是完全随机的,对于中文来说,很有可能一个词的某些字被mask掉了,比如说让我预测这样一句话: 原话: ”我今天早上去打羽毛球了,然后又去蒸了桑拿,感觉身心愉悦“ MASK:”我 [MASK] 天早上去打 [MASK] 毛球了,然后 [MASK] 去蒸了 [MASK] 拿,感觉身心 [MASK] 悦“ 虽然说从统计学意义上来讲这样做依然可以学得其特征,但这样实际上破坏了中文特有的词结构,那么全词覆盖主要就是针对这个问题,提出一种机制保证在MASK的时候要么整个词都不MASK,要么MASK掉整个词。 WWM MASK:”我今天早上去打 [MASK][MASK][MASK] 了,然后又去蒸了 [MASK][MASK] ,感觉身心愉悦“ 例子可能举得不是很恰当

如何在C中获取文件大小? [重复]

百般思念 提交于 2020-02-27 05:57:54
可能重复: 如何确定C中文件的大小? 如何找出用C语言编写的应用程序打开的文件大小? 我想知道大小,因为我想将加载文件的内容放入一个字符串,我使用 malloc() 分配。 只写 malloc(10000*sizeof(char)); 恕我直言是一个坏主意。 #1楼 您是否考虑过不计算文件大小而只是在必要时增加数组? 这是一个例子(省略错误检查): #define CHUNK 1024 /* Read the contents of a file into a buffer. Return the size of the file * and set buf to point to a buffer allocated with malloc that contains * the file contents. */ int read_file(FILE *fp, char **buf) { int n, np; char *b, *b2; n = CHUNK; np = n; b = malloc(sizeof(char)*n); while ((r = fread(b, sizeof(char), CHUNK, fp)) > 0) { n += r; if (np - n < CHUNK) { np *= 2; // buffer is too small, the next