使用Python批量压缩tif文件操作步骤
1.前言
我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩。
2.流程
3.批量压缩代码
#文件夹中每个文件都进行压缩 # -*- coding: utf-8 -*- import rasterio as rio import rasterio import os from tqdm import tqdm #每个线程选择一个文件夹 Input_path ="输入文件夹"+"\\" Output_path ="输出文件夹"+"\\" #文件列表 pathDir= os.listdir(Input_path) #压缩函数 for i in tqdm(range(len(pathDir))): # 读入栅格文件 rasterfile = Input_path+"\\"+pathDir[i] #打开栅格 rasterdata = rio.open(rasterfile) #读取栅格 rasterdata2= rasterdata.read() #获取栅格信息 profile = rasterdata.profile print(profile) #选择压缩方式 profile.update( compress='lzw', #压缩方式:rle,lzw等 ) #导出文件路径与名字 out_put_name=Output_path +"RLE"+pathDir[i] #导出 with rasterio.open(out_put_name, mode='w', **profile) as dst: dst.write(rasterdata2)
4.结果展示
首先是四川省的原始文件大小为2.23Gb,压缩后的大小为0.99Gb,压缩了大概一半。
以上就是使用Python批量压缩tif文件操作步骤的详细内容,更多关于Python批量压缩文件的资料请关注我们其它相关文章!
相关推荐
-
python 无损批量压缩图片(支持保留图片信息)的示例
由于云盘空间有限,照片尺寸也是很大,所以写个Python程序压缩一下照片,腾出一些云盘空间 1.批量压缩照片 新建 photo_compress.py 代码如下 # -*- coding: utf-8 -*- """脚本功能说明:使用 tinypng api,一键批量压缩指定文件(夹)所有文件""" import os import sys from concurrent.futures import ThreadPoolExecutor, Pr
-
python 批量解压压缩文件的实例代码
下面给大家介绍python 批量解压压缩文件的实例代码,代码如下所述: #/usr/bin/python#coding=utf-8import os,sys import zipfile open_path='e:\\data'save_path='e:\\data' os.chdir(open_path) #转到路径 #首先,通过zipfile模块打开指定位置zip文件 #传入文件名列表,及列表文件所在路径,及存储路径def Decompression(files,file_path,save
-
python 批量压缩图片的脚本
简介 用Python批量压缩图片,把文件夹或图片直接拖入即可 需要 Needs Python 3 Pillow (用pip install pillow来安装即可) 用法 Usage 把文件夹或图片直接拖入即可.如果拖入的是文件夹,则会遍历子文件夹把所有图片都压缩了. 注意,压缩后的文件会直接替换原来的文件,文件名不变,尺寸不变,只改变压缩质量. 文件的开头有两个变量: SIZE_CUT = 4 表示大于4MB的图片都会进行压缩 QUALITY = 90 表示压缩质量90,这个质量基本人眼是看不
-
Python实现文件压缩和解压的示例代码
大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Python实现压缩和解压. 读取ZIP文件信息 要读取ZIP文件的内容,首先必须创建一个ZipFile对象.ZipFile对象在概念上与File对象相似. 要创建一个 ZipFile 对象,就调用 zipfile.ZipFile()函数,向它传入一个字符串,表示.zip 文件的文件名. 请注意,zipfile 是 Python 模块的名称,ZipFile()是函数的名
-
python压缩文件夹内所有文件为zip文件的方法
本文实例讲述了python压缩文件夹内所有文件为zip文件的方法.分享给大家供大家参考.具体如下: 用这段代码可以用来打包自己的文件夹为zip,我就用这段代码来备份 import zipfile z = zipfile.ZipFile('my-archive.zip', 'w', zipfile.ZIP_DEFLATED) startdir = "/home/johnf" for dirpath, dirnames, filenames in os.walk(startdir): fo
-
使用Python批量压缩tif文件操作步骤
1.前言 我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G.考虑到有限的电脑磁盘空间,我对Tif文件采用了LZW压缩. 2.流程 3.批量压缩代码 #文件夹中每个文件都进行压缩 # -*- coding: utf-8 -*- import rasterio as rio import rasterio import os from tqdm import tqdm #每个线程选择一个文件夹 Input_path ="输入文件夹"+&qu
-
python批量压缩图像的完整步骤
目录 背景 解决方案 操作步骤 要求 步骤 附:批量将图片的大小设置为指定大小 写在后面 背景 今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB.但是同事又有很多照片.这要是每一个照片都用ps压缩的话,那岂不是很崩溃.于是我写了一个脚本,可以批量压缩图片到指定大小.直接造福同事.提高同事的工作效率. 解决方案 其实也不用卖关子了,就是使用python的pillow包就可以对图片进行压缩,如果一个图片已经压缩到指定大小了,那就停止压缩,如果没有达到指定大小,那就对压缩
-
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
前言 本文主要给大家介绍的关于Python批量压缩png的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 1.需求 为什么会有这个需求?是因为游戏的资源大多是png图片,需要压缩,但是有些图片和文件夹里的图片,美术不想压缩,比如一些带透明度的光圈或者游戏的主要元素.所以要过滤下.发现python这个语言比较适合用在这个场景.所以写了点python. 2.源码 import os,sys import os.path rootdir=sys.path[0] #需要过滤的文
-
python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1.调用glob 遍历指定目录下的所有文件和文件夹,不递归遍历,需要手动完成递归遍历功能. import glob as gb path = gb.glob('d:\\2\\*') for path in path: print path 2.2.调用os.w
-
python批量读取txt文件为DataFrame的方法
我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要用到glob模块,这个python内置的模块可以说是非常的好用. glob.glob('*.txt') 得到如下结果: all.txt是我最后得到的结果文件.可以见返回的是一个包含txt文件名称的列表,当然如果你的文件夹下面只有txt文件,那么你用os.listdir()可以得到一个一样的列表 然后
-
基于python批量处理dat文件及科学计算方法详解
摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作. 批处理文件功能 import os path1 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test1' path2 = 'C:\\Users\\awake_ljw\\Documents\\python for data analysis\\test2' filelist = os.listdir(path1) for files i
-
Python批量修改文件名实例操作分享
此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~ 原始文件名如下: 修改后的效果如下: 代码: 实现将one文件夹中的每一个图片复制到two文件夹并修改图片名为按照a.b.c.d递增排序 思路:重命名为新建一个文件将原来文件内容复制过去 import os def alterFileName(source,target): print("当前文件夹下有以下几个文件>>>") file_list=os.listdir(source)
-
Python批量将csv文件编码方式转换为UTF-8的实战记录
当我们用pandas是操作CSV文件的时候,常常会因为编码问题出现报错. pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader.read() pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory() pandas_libs\parsers.pyx in pandas._libs.parsers.TextReader._read_rows
-
Python批量提取PDF文件中文本的脚本
本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import os import sys import time pdfs = (pdfs for pdfs in os.listdir('.') if pdfs.endswith('.pdf')) for pdf1 in pdfs: pdf = pdf1.replace(' ', '_').replace('-
随机推荐
- JavaMail发送(带图片和附件)和接收邮件实现详解(四)
- 用.NET如何生成二维码
- canvas雪花效果核心代码分享
- JS 在数组插入字符的实现代码(可参考JavaScript splice() 方法)
- php unset全局变量运用问题的深入解析
- php中static 静态变量和普通变量的区别
- 一个可以自动创建多级目录的函数
- PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
- 关于foreach循环中遇到的问题小结
- jQuery Ztree行政地区树状展示(点击加载)
- Java 获取泛型的类型实例详解
- Canvas + JavaScript 制作图片粒子效果
- 微信小程序 modal弹框组件详解
- C#代码操作XML进行增、删、改操作
- C#实现类似jQuery的方法连缀功能
- OpenGL Shader实例分析(7)雪花飘落效果
- 在Linux下通过命令行打包Android应用的方法
- vue router的基本使用和配置教程
- Linux系统为什么要吃掉我的“内存”
- java项目jar包与jdk的版本不兼容的问题解决