批量读取文件
大家知道,我們讀寫硬盤的時(shí)候發(fā)送的命令為SCSI READ或SCSI WRITE。即SCSI讀和SCSI寫命令。但是READ和WRITE有很多種,這些命令的應(yīng)用場(chǎng)合是什么呢?
最重要的一點(diǎn)就是,這是跟硬盤的容量大小有關(guān)的。
在很久以前,硬盤的容量很小,比如只有32MB。大家知道硬盤的LBA為512Byte。所以如果要表示32MB的空間需要2的16次方*512B=32MB
也就是說(shuō)2個(gè)byte即可表示一個(gè)32MB的地址。
所以,在那個(gè)時(shí)候的讀寫命令就是read(6)和write(6),他們指定的LBA長(zhǎng)度為2個(gè)byte!
但是隨著磁盤容量的變大,2個(gè)byte完全不能表示硬盤的空間地址。那如果我想讀寫更大空間的內(nèi)容呢,所以就用到了write(10)、read(10),他們指定的LBA長(zhǎng)度為4個(gè)byte,因此表示的最大容量為2的32次方*512B=2TB。所以2TB以內(nèi)的硬盤都可以用write(10)和read(10)
但是2TB顯然不是終點(diǎn),4個(gè)byte又不夠了,怎么辦,于是發(fā)展到了8個(gè)byte。這就是read(16)和write(16),他能表示的空間就大多了,估計(jì)在我們有生之年是徹底夠用了。
import os
import pandas as pd
import codecspath='D:/code12temp/pytorch/傳統(tǒng)醫(yī)療敏感信息處理/data/'listfile=os.listdir(path)
# print (listfile[0])#去除重復(fù)行
# for i_file in listfile:
# line_seen = set() # 初始化空的無(wú)序集合
# 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)
#去除各種符號(hào)
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:continueelse: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('<(.*?)>') #去掉尖括號(hào)line=reExp.sub('',line)re_space=re.compile('\s{1,}')#去掉空格line=re_space.sub(' ',line)re_ques=re.compile('\?{1,}')#去掉多個(gè)問(wèn)好line=re_ques.sub('',line)re_zhongkuohao_l=re.compile('\{')#去掉中括號(hào)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
總結(jié)
- 上一篇: 矩阵乘以其矩阵转置求导-数学
- 下一篇: linux问题