首页 > 编程语言 >使用 python 分割大的文本文件

使用 python 分割大的文本文件

时间:2023-08-09 10:44:07浏览次数:42  
标签:分割 filepath python filesize split 文本文件 block size

在开发过程中会遇到有些大文件,因为比较大,无法打开的情况,这个时候需要进行文件分割,这里使用python进行文件分割,代码如下:

import os
import math
import sys

block_size = int(sys.argv[2])*1024*1024

def split_file(filepath:str, block_size:int):
    filesize = os.path.getsize(filepath)
    blocks = math.ceil(filesize / block_size)
    last_block_size = block_size if filesize % block_size == 0 else filesize % block_size

    with open(filepath, 'rb') as fl:
        for i in range(blocks):
            filename = f'{filepath}.part{i}'
            with open(filename, 'wb') as fw:
                if i != blocks - 1:
                    fw.write(fl.read(block_size))
                else:
                    fw.write(fl.read(last_block_size))

split_file(sys.argv[1], block_size)

  

使用方法为:python split.py  txt 100

其中 split.py 为上述代码的python文件,txt为要分割的文件完整路径+文件名,100为要分割的大小,单位为MB

标签:分割,filepath,python,filesize,split,文本文件,block,size
From: https://www.cnblogs.com/newthread/p/17616242.html

相关文章

  • rocky linux:安装pytorch(pytorch 2.0.1 / Python 3.9.16)
    一,pytorch官网:https://pytorch.org/如图:根据自己的需求选择版本、平台、语言环境等信息,然后运行命令二,运行pip安装命令:[root@imgbin]#pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cpuLookinginindexes:https://......
  • rocky linux:编译安装python3.11.4(rocky linux 9.2)
    一,查看现有的版本:1,本地版本[root@img~]#python--versionPython3.9.162,现在的最新版本:访问官网:https://www.python.org/如图:可以看到线上的最新版本是3.11.4 二,编译/安装:1,下载:先复制下载地址2,从服务器用wget命令下载:[root@imgpython]#wgethttp......
  • python:升级pip版本(Python 3.11.4)
    一,查看当前pip的版本:[[email protected]]#pip--versionpip23.1.2from/usr/local/soft/python3.11.4/lib/python3.11/site-packages/pip(python3.11)二,升级pip:[[email protected]]#python3-mpipinstall--upgradepipLookinginindexes:http://m......
  • python:升级setuptools的版本(Python 3.11.4)
    一,查看当前setuptools的版本:[[email protected]]#python3-mpipshowsetuptoolsName:setuptoolsVersion:65.5.0Summary:Easilydownload,build,install,upgrade,anduninstallPythonpackagesHome-page:https://github.com/pypa/setuptoolsAuthor:Py......
  • 使用python解析nginx日志
    性能测试时,需使用生产环境各接口请求比例分配接口请求比,nginx统计脚本如下:importreimportpandasaspdimportxlwtobj=re.compile(r'(?P<ip>.*?)--\[(?P<time>.*?)\]"(?P<request>.*?)"(?P<request_time>.*?)(?P<status>.*?)(?P<by......
  • [Python爬虫]selenium4新版本使用指南
    From:码同学测试公众号------------------------------------Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera,Edge等。这个工具的主要功能包括......
  • 遇到问题--python--爬虫--使用代理ip第二次获取代理ip失败
    情况获取代理ip的代码defferch_proxy_ips():try:api="http://dynamic.goubanjia.com/dynamic/get/12323.html?sep=3"response=urllib.request.urlopen(api,timeout=8)the_page=response.read()content=the_page.decode(&......
  • python--web--让python提供api服务--aiohttp
    aiohttp介绍官网上有这样一句话介绍:AsyncHTTPclient/serverforasyncioandPython翻译过来就是基于asyncio和Python实现的异步HTTP客户端/服务器asyncio可以实现单线程并发IO操作。也就是做异步操作。如果仅用在客户端,发挥的威力不大。如果把asyncio用在服务器端,例如Web服务器......
  • python--mysql--驱动简介和使用
    本篇文章介绍Python操作MySQL的几种方式,你可以在实际开发过程中根据实际情况合理选择。MySQL-python(MySQLdb)–支持python2.xMySQL-python又叫MySQLdb,是Python连接MySQL最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持Python2.x,而且安装的时候有很多前......
  • python积累--读写文本文件实例
    读写文件是最常见的IO操作。我们经常从文件读取输入,将内容写到文件。读文件在Python中,读文件主要分为三个步骤:打开文件读取内容关闭文件一般使用形式如下:try:f=open('/path/to/file','r')#打开文件data=f.read()#读取文件内容fina......