Переименовать: FileNotFoundError: [WinError 2] - работа с растрами - PullRequest
0 голосов
/ 18 февраля 2020

В моем коде в Python я получаю сообщение об ошибке

FileNotFoundError: [WinError 2] Системе не удается найти указанный файл: 'Z_Cawc_000_005_estimated_value.tfw' -> 'awc_000_005_estimated_value.tfw'

Итак, 'Z_Cawc_000_005_estimated_value.tfw' - это имя первого растра в папке с 800 растрами.

Все, что я хочу - это избавиться от начального "Z_ C "символов 800 растровых файлов в папке.

Мой код

    import os
    path = os.getcwd()
    filenames = 
    os.listdir(r'I:\PhD_2019\Spatial_Datasets\Baroon_Pocket_Dam_Catchment\Raster\Soil_Zonal_Stats')
    for filename in filenames:
        os.rename(filename, filename.replace("Z_C",""))

Я также попробую следующий код:

    from os import rename, listdir

    badprefix = "Z_C"
    fnames = listdir('I:\\PhD_2019\\Spatial_Datasets\\Baroon_Pocket_Dam_Catchment\\Raster\\Soil_Zonal_Stats')

    for fname in fnames:
        if fname.startswith(badprefix):
            rename(fname, fname.replace(badprefix, '', 1))

и также следующий код:

    import os
    path =  os.getcwd()
    filenames = os.listdir(r'I:\PhD_2019\Spatial_Datasets\Baroon_Pocket_Dam_Catchment\Raster\Soil_Zonal_Stats' )

    for filename in filenames:
        os.rename(filename, filename.replace("Z_C", ""))

Но оба они привели к одной и той же ошибке! Может кто-нибудь сообщить мне, что не так с моим кодом, пожалуйста?

1 Ответ

0 голосов
/ 18 февраля 2020

Вам необходимо указать полный путь к файлу, в противном случае python будет выглядеть в вашем рабочем каталоге и не найдет файл. исправление:

folder = r'I:\PhD_2019\Spatial_Datasets\Baroon_Pocket_Dam_Catchment\Raster\Soil_Zonal_Stats'
filenames = 
    os.listdir(r'I:\PhD_2019\Spatial_Datasets\Baroon_Pocket_Dam_Catchment\Raster\Soil_Zonal_Stats')
    for filename in filenames:
        os.rename(os.path.join(folder, filename), os.path.join(folder, filename.replace("Z_C","")))
...