python - 值错误 : Received a null pointer

标签 python python-3.x gdal

我正在编写将 GeoTiff 文件转换为 png 的代码。 枕头对我不起作用。因此我正在使用 gdal。我在代码中遗漏了什么吗? 代码如下:

from osgeo import gdal
import os
options_list = ['-ot Byte','-of PNG'] 
options_string = " ".join(options_list)
in_tif = r"E:\some\path\tif_folder"
out_png = r"E:\some\other\path\png_folder"
list_tif = os.listdir(in_tif) 
for x in list_tif:
    in_tif = in_tif + "\\" + x
    out_png = out_png + "\\" + x
    gdal.Translate(out_png,in_tif,options=options_string)

最佳答案

它实际上给了我一个扩展名为 .tif 的文件,我以前没有注意到。因此,我使用替换函数将 tif 更改为 png。 for 循环中也存在非常基本的缺陷,因此文件不断被添加。 有效的新代码:

    from osgeo import gdal
    import os
    options_list = ['-ot Byte','-of PNG'] 
    options_string = " ".join(options_list)
    in_tif = r"E:\some\path\tif_folder"
    out_png = r"E:\some\other\path\png_folder"
    list_tif = os.listdir(in_tif) 
    for x in list_tif:
        indi_tif = in_tif+"\\" + x
        print(in_tif)
        indi_png = out_png + "\\" + x
    try:

gdal.Translate(indi_png.replace(".tif",".png"),indi_tif,options=options_string)

    except: 
        print("Failed files,",indi_tif) 

关于python - 值错误 : Received a null pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70376363/

相关文章:

python - 获取Docker容器内主机的MAC地址

python - 在 python 中,为什么没有换行符就无法打印

python - 通过 'for' 循环实例化多个任务时出现 Airflow 依赖错误

python - 在 Mac OS X Lion 上安装 GDAL

python - 如何捕获 python 警告错误和 'bury' 呢?

python - 将 conda HDF4 链接到 conda GDAL(Anaconda Python)

python - 自相关以numpy估计周期性

Python:使用字典输出文本文件的模式

python-3.x - 这是在 Python 3 中从 URL 获取图像的正确方法吗?

python - 根据特定列 pandas 获取数据帧之间的差异