python實(shí)現(xiàn)按行分割文件
本文實(shí)例為大家分享了python實(shí)現(xiàn)按行分割文件的具體代碼,供大家參考,具體內(nèi)容如下
#!/usr/bin/env python
#--*-- coding:utf-8 --*--
import os
class SplitFiles():
"""按行分割文件"""
def __init__(self, file_name, line_count=200):
"""初始化要分割的源文件名和分割后的文件行數(shù)"""
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 : # 正常結(jié)束循環(huán)后將剩余的內(nèi)容寫入新文件中
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):
""""獲取分割后的文件名稱:在源文件相同目錄下建立臨時(shí)文件夾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) : # 如果臨時(shí)目錄不存在則創(chuàng)建
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):
"""將按行分割后的內(nèi)容寫入相應(yīng)的分割文件中"""
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()
小編再為大家分享一段代碼:
將文本文件按照指定的行數(shù)分割成數(shù)個(gè)小的文本文件
#! /usr/bin/env python
# -*- coding: utf-8 -*-
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)<LIMIT:
continue
#數(shù)據(jù)達(dá)到LIMIT
file_name=str(file_count)+".txt"
with open(file_name,'w') as file:
for url in url_list[:-1]:
#print(url)
file.write(url)
file.write(url_list[-1].strip())
url_list=[]
file_count+=1
if url_list:
file_name=str(file_count)+".txt"
with open(file_name,'w') as file:
for url in url_list:
file.write(url)
print('done')
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python StringIO如何在內(nèi)存中讀寫str
這篇文章主要介紹了python StringIO如何在內(nèi)存中讀寫str,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Python實(shí)現(xiàn)的對本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的對本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能,可實(shí)現(xiàn)掃描本機(jī)開放端口的功能,涉及Python socket模塊與Thread多線程模塊相關(guān)使用技巧,需要的朋友可以參考下2019-02-02
opencv python統(tǒng)計(jì)及繪制直方圖的方法
這篇文章主要介紹了opencv python統(tǒng)計(jì)及繪制直方圖的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Python3 實(shí)現(xiàn)減少可調(diào)用對象的參數(shù)個(gè)數(shù)
今天小編就為大家分享一篇Python3 實(shí)現(xiàn)減少可調(diào)用對象的參數(shù)個(gè)數(shù),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python Opencv中用compareHist函數(shù)進(jìn)行直方圖比較對比圖片
這篇文章主要介紹了Python Opencv中用compareHist函數(shù)進(jìn)行直方圖比較進(jìn)行對比圖片,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
python框架flask入門之路由及簡單實(shí)現(xiàn)方法
這篇文章主要介紹了python框架flask入門路由及路由簡單實(shí)現(xiàn)方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
用Python調(diào)用win命令行提高工作效率的實(shí)例
今天小編就為大家分享一篇用Python調(diào)用win命令行提高工作效率的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

