python文本切分

Python023

python文本切分,第1张

直接上代码了,其实还有很多解决方法的,可以参考python处理字符串相关内容,将下面文件保存成test.py。

# -*- coding: utf8 -*-

#!/usr/bin/python

#input.txt里面是你要的内容,放到脚本目录中

#2 2 3 3 ||| 3 4 5 6 7

#4 5 3 3 ||| 8 9 5 6 7

filename='input.txt'

fr=open(filename,'r')

fw=open('output.txt','w')

fileList = fr.readlines()

for fileLine in fileList:

    fw.write(fileLine.split(' ||| ')[1])

print '新的内容已经生成到output.txt中了'

fr.close()

fw.close()

def writeStr(url,content):

with open(url,'w') as f:

f.write(content)

longStr = "123 23 货物A 货物B 货物C 货物D 货物E 货物F 45 78 货物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)

for i in itObj:

posObj = i.span()

matchStr = i.group()

print('i.span',posObj,matchStr)

if re.search(r'\d',matchStr):

if idx>-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)

自己手打代码 希望采纳给分

这个比较简单

i = 0

fw = open('0.txt', 'w')

for line in open('fn.txt', 'r'):

    fw.write(line)

    i += 1

    if i % 3 == 2:

        fw.close()

        fw = open(str(i) + '.txt', 'w')

fw.close()

差不多就这样,你试试,我没有测试