def splitfile(filename,sizelimit,forline=True):
成都创新互联专注于内黄企业网站建设,成都响应式网站建设,电子商务商城网站建设。内黄网站建设公司,为内黄等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
size=0
i=1
out=open("%s.%04d"%(filename,i),'w')
for line in open(filename):
size=size+1 if forline else size+len(line)
if(sizesizelimit):
size=1 if forline else len(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时按大小分割
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()
差不多就这样,你试试,我没有测试
split的默认参数是空格,这个函数实在字符串中寻找你给出的delimiter,并以这个delimiter为分割点,将字符串分割为列表的元素。如果你想将这个a中的每一个元素变成列表中的每一个元素的话可以使用列表的解析[x for x in a],或者是先定义一个空列表,然后在一个一个的添加,就像楼上的一样,像一楼一样使用内建的list工厂函数将字符串转换成列表也是可以的。
标点有很多。。 (逗号,分好,句号,感叹号,问好)
都要分么。。
如果都要分,就用re模块的split
如果只按一种分,直接用split函数
在我这里没有问题啊,能够正确地分割。注意最好不要用内置函数名称作为变量名。