Попытка переименовать файл и получить ошибку значения - PullRequest
1 голос
/ 13 февраля 2020

Я получаю ValueError: недостаточно строк для распаковки (ожидается 2, получено 1) в строке 16. какие-нибудь советы о том, что я сделал не так?

Главное удовольствие c ()

def main():
    i = 1

    import os
    path = "C:\\State_K-1_Info_Manual\\3-Partner_K-1s\\"

    for filename in os.listdir("C:\\State_K-1_Info_Manual\\3-Partner_K-1s\\"):
        prefix, num = filename[:-3].split('_')
        num = num.zfill(4)
        new_filename = prefix + "_" + num + ".pdf"
        os.rename(os.path.join(path, filename), os.path.join(path, new_filename))

    for filename in os.listdir("C:\\State_K-1_Info_Manual\\3-Partner_K-1s\\"):
        dst1 = str(i) + ".pdf"
        dst = dst1.zfill(7)
        src = 'C:\\State_K-1_Info\\3-Partner_K-1s_Manual\\' + filename
        dst = 'C:\\State_K-1_Info\\3-Partner_K-1s_Manual\\' + dst

        # rename() function will
        # rename all the files
        os.rename(src, dst)
        i += 1


# Driver Code
if __name__ == '__main__':
    # Calling main() function
    main()

1 Ответ

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

Скорее всего, это строка:

prefix, num = filename[:-3].split('_')

Необходимо убедиться, что массив, полученный из выражения справа, содержит ровно 2 элемента, чтобы распаковать его в prefix и num.

...