python实现按行分割文件

  • 时间:
  • 浏览:26

本文真例为各人分享了Python真现按止朋分文件的详细代码,供各人参考,详细内容以下

#!/usr/bin/env python
#--*-- coding:utf⑻ --*--
 
import os
 
class SplitFiles():
 """按止朋分文件"""
 
 def __init__(self, file_name, line_count=200):
  """初初化要朋分的源文件名战朋分后的文件止数"""
  self.file_name = file_name
  self.line_count = line_count
 
 def split_file(self):
  if self.file_name and os.path.exists(self.file_name):
   try:
    with open(self.file_name) as f : # 利用with读文件
     temp_count = 0
     temp_content = []
     part_num = 1
     for line in f:
      if temp_count < self.line_count:
       temp_count += 1
      else :
       self.write_file(part_num, temp_content)
       part_num += 1
       temp_count = 1
       temp_content = []
      temp_content.append(line)
     else : # 一般完毕轮回后将盈余的内容写进新文件中
      self.write_file(part_num, temp_content)
 
   except IOError as err:
    print(err)
  else:
   print("%s is not a validate file" % self.file_name)
 
 def get_part_file_name(self, part_num):
  """"获得朋分后的文件称号:正在源文件不异目次下成立暂时文件夹temp_part_file,然后将朋分后的文件放到该途径下"""
  temp_path = os.path.dirname(self.file_name) # 获得文件的途径(没有露文件名)
  part_file_name = temp_path + "temp_part_file"
  if not os.path.exists(temp_path) : # 若是暂时目次没有存正在则创立
   os.makedirs(temp_path)
  part_file_name += os.sep + "temp_file_" + str(part_num) + ".part"
  return part_file_name
 
 def write_file(self, part_num, *line_content):
  """将按止朋分后的内容写进响应的朋分文件中"""
  part_file_name = self.get_part_file_name(part_num)
  print(line_content)
  try :
   with open(part_file_name, "w") as part_file:
    part_file.writelines(line_content[0])
  except IOError as err:
   print(err)
 
if __name__ == "__main__":
 sf = SplitFiles(r"F:\multiple_thread_read_file.txt")
 sf.split_file()

小编再为各人分享1段代码:

将文本文件依照指定的止数朋分成数个小的文本文件

#! /usr/bin/env python
# -*- coding: utf⑻ -*-
 
LIMIT=1000
file_count=0
url_list=[]
 
with open("123.txt") as f:
 for line in f:
  url_list.append(line)
  if len(url_list) 

以上便是本文的全数内容,期望对各人的进修有所帮忙,也期望各人多多撑持剧本之家。