python 如何按比例分割文件

N=0.618
lines=open('a.txt','r').readlines()
lines_for_b=int(len(lines)*N)
open('b.txt','w').write(''.join(lines[:lines_for_b]))
open('c.txt','w').write(''.join(lines[lines_for_b:]))

⑵ python A.txt一行一行讀取文件,分割這行取倒數一個數據,之後保存B.txt, 每行A.txt已操作後B.txt對應

將抄A.txt,以空格為分隔符,每行最後一個數據讀出,寫到B.txt中
#-*-coding:UTF-8-*-
importre
importsys
importos

str=[]
fa=open("A.txt",'r')

forlineinfa.readlines():
printline
str1=line.split("")[-1]
printstr1
str.append(str1)
fb=open("B.txt",'a')
foriinstr:
fb.write(i)

fa.close()
fb.close()

⑶ Python 對一個TXT文件進行分割 並最後生成三個txt文件

漢子,主要是要使用正確的編解碼方式去識別
讀取txt文件
將內容分為三部分
再分別寫成txt文件即可

⑷ 求一個腳本,如何利用python(python 2.7)分割超大的文本文件可以指定按大小或按行數

defsplitfile(filename,sizelimit,forline=True):
size=0
i=1
out=open("%s.%04d"%(filename,i),'w')
forlineinopen(filename):
size=size+1ifforlineelsesize+len(line)
if(size>sizelimit):
size=1ifforlineelselen(line)
out.close()
i+=1
out=open("%s.%04d"%(filename,i),'w')
out.write(line)
out.close()
if__name__=='__main__':
filename=raw_input("請輸入要分隔的文件名:")
forline=raw_input("輸入數字0按行分隔,輸入其它按大小分隔(請輸入:)")
forline=(int(forline)==0)
sizelimit=int(raw_input("請輸入分割文件的大小:"))
splitfile(filename,sizelimit,forline)

函數splitfile的前二個參數為文件名,分割大小,,第三個參數為True時按行分割,為False時按大小分割

⑸ 利用python進行文本分割,每三行分成一個新文件

這個比較簡單

i=0
fw=open('0.txt','w')
forlineinopen('fn.txt','r'):
fw.write(line)
i+=1
ifi%3==2:
fw.close()
fw=open(str(i)+'.txt','w')
fw.close()

差不多就這樣,你試試,我沒有測試

⑹ 求助!python文本分割

單詞本內每個lesson是有多個單詞還是如你所示只有一個;

保存是保存成什麼格式,TXT文檔還是Excel或者其他的;

簡單來考慮,list =a.split('lesson')然後讀取list[1]就是lesson1里的內容?……

st0="""lesson1
excuse[ik'skju:z]v.原諒
lesson2
pen[pen]n.鋼筆
lesson3
umbrella[ʌm'brelə]n.傘"""
list=st0.split("lesson");
print(list[1]);
#再去保存為你要的文件格式即可

⑺ 日誌文件太大,python怎麼分割文件,多線程操作

python的多線程為偽多線程,多線程並不能提高文件IO的速度,在讀取文件時使用直接讀取 for line in open('文件名', 'r') 效率最高,因為此方式為直接讀取,不像其它方式要把文件全部載入到內存再讀取,所以效率最高。分割時文件時,提前計算好行數,把讀取的每固定數量的行數存入新文件,直接讀取完成,最後刪除舊文件,即可實現文件分割。

示意代碼

line_count=0
index=0
fw=open('part'+str(index)+'.log','w')
forlineinopen('filename.log','r'):
fw.write(line)
line_count+=1
#假設每10000行寫一個文件
ifline_count>10000:
fw.close()
index+=1
fw=open('part'+str(index)+'.log','w')
fw.close()

⑻ 使用python進行大型文本的分割

defwriteStr(url,content):
withopen(url,'w')asf:
f.write(content)
longStr="12323貨物A貨物B貨物C貨物D貨物E貨物F4578貨物G貨物H貨物I貨物J貨物K貨物L"
regObj=re.compile(r"[d+s+]+")

saveurl="E:/dataSave/"#把這個路徑改成你想保存的路徑
idx=-1
countIter=0
fileFix='data'

itObj=regObj.finditer(longStr)
foriinitObj:
posObj=i.span()
matchStr=i.group()
print('i.span',posObj,matchStr)
ifre.search(r'd',matchStr):
ifidx>-1:
saveStr=longStr[idx:posObj[0]]
countIter+=1
writeStr(saveurl+fileFix+str(countIter)+'.txt',saveStr)
print('saveStr=',saveStr)
idx=posObj[0]
print("..分割..idx=",idx)
countIter+=1
saveStr=longStr[idx:len(longStr)]
writeStr(saveurl+fileFix+str(countIter)+'.txt',saveStr)
print('longStr最後=',saveStr,countIter)

自己手打代碼 希望點贊給分

⑼ 用python將一個txt數據文件分成3個小文件怎麼實現呢

文件大小大么?

數據文件裡面的數據分隔是靠什麼呢?


如果文件不大的話,可以一次讀入內存

filename='xx.dat'
fd=open(filename,'rb)
dat=fd.read()
fd.close()

分割數據:

dat1,dat2,dat3=split_dat(dat)#分割數據就要看你數據的格式了
fn='out1.dat'
fd=open(fd,'w+')
fd.write(dat1)
fd.close()

fn='out2.dat'
fd=open(fd,'w+')
fd.write(dat2)
fd.close()

fn='out3.dat'
fd=open(fd,'w+')
fd.write(dat3)
fd.close()

⑽ 關於python中文件的分割

f=open("a.txt",'r')

lists=f.readlines()
result=[]
i=0
for temp in lists:
result[i]=temp

i=i+1

#輸出結果:
for i in result:
print i