大家知道,我们读写硬盘的时候发送的命令为SCSI READ或SCSI WRITE。即SCSI读和SCSI写命令。但是READ和WRITE有很多种,这些命令的应用场合是什么呢?
最重要的一点就是,这是跟硬盘的容量大小有关的。
在很久以前,硬盘的容量很小,比如只有32MB。大家知道硬盘的LBA为512Byte。所以如果要表示32MB的空间需要2的16次方*512B=32MB
也就是说2个byte即可表示一个32MB的地址。
所以,在那个时候的读写命令就是read(6)和write(6),他们指定的LBA长度为2个byte!
但是随着磁盘容量的变大,2个byte完全不能表示硬盘的空间地址。那如果我想读写更大空间的内容呢,所以就用到了write(10)、read(10),他们指定的LBA长度为4个byte,因此表示的最大容量为2的32次方*512B=2TB。所以2TB以内的硬盘都可以用write(10)和read(10)
但是2TB显然不是终点,4个byte又不够了,怎么办,于是发展到了8个byte。这就是read(16)和write(16),他能表示的空间就大多了,估计在我们有生之年是彻底够用了。
import os
import pandas as pd
import codecs
path='D:/code12temp/pytorch/传统医疗敏感信息处理/data/'
listfile=os.listdir(path)
# print (listfile[0])
#去除重复行
# for i_file in listfile:
# line_seen = set() # 初始化空的无序集合
# if '_xml' in i_file or 'dup' in i_file:
#
# in_file=codecs.open(path+"\\"+i_file,mode='r',encoding='gbk')
# i_file=i_file.replace('.txt','_dup.txt')
# out_file=codecs.open(path+"\\"+i_file,mode='w',encoding='gbk') #w 如果文件不存在就新建
# lines = in_file.readlines()
# for line in lines:
# if line not in line_seen:
# out_file.write(line)
# line_seen.add(line)
# out_file.close()
import re
# strinfo = re.compile('word')
# b = strinfo.sub('python',a)
#去除各种符号
for i_file in listfile:
line_dup=set()
if ‘_xml’ in i_file and ‘dup’ in i_file:
in_file = codecs.open(path + "\\" + i_file, mode='r', encoding='gbk')
i_file = i_file.replace('.txt', '_preproc.txt')
out_file=codecs.open(path+"\\"+i_file,mode='w',encoding='gbk') #w 如果文件不存在就新建
lines = in_file.readlines()
for line in lines:
if len(set(line))==0:
continue
else:
line=line.strip(' ') #去除两端空格
line=line.replace('{none}','')
line=line.replace(' ','')
line=line.replace('<FONT color=#ff0000>','')
line=line.replace('</FONT>','')
line = line.replace('"', '')
line = line.replace('\?', '')
line = line.replace('{COL}', '')
re_fenhao= re.compile('&(.*?);')
line=re_fenhao.sub('',line)
reExp=re.compile('<(.*?)>') #去掉尖括号
line=reExp.sub('',line)
re_space=re.compile('\s{1,}')#去掉空格
line=re_space.sub(' ',line)
re_ques=re.compile('\?{1,}')#去掉多个问好
line=re_ques.sub('',line)
re_zhongkuohao_l=re.compile('\{')#去掉中括号
line=re_zhongkuohao_l.sub('',line)
re_zhongkuohao_r = re.compile('\}')
line = re_zhongkuohao_r.sub('', line)#
line=line.strip(' ') #去除两端空
if line not in line_dup:
out_file.write(line)
line_dup.add(line)
out_file.write('\n')
out_file.close()
pass