【问题标题】:Trying to rename a file and get a Value Error尝试重命名文件并获得值错误
【发布时间】:2020-05-29 11:03:18
【问题描述】:

我在第 16 行收到 ValueError: not enough values to unpack (expected 2, got 1)。关于我做错了什么有什么提示吗?

主函数()

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()

【问题讨论】:

  • 第 16 行是什么?
  • 在第一个循环中检查您的filename,您确定它包含下划线吗?
  • 发布完整的回溯。它包含的有用信息比您想象的要多。
  • 我们需要完整的错误信息,以及minimal reproducible example
  • Traceback(最近一次调用最后一次):文件“C:/Users/rbonnes/.PyCharmCE2019.3/config/scratches/Rename_k1s.py”,第 36 行,在 main() 文件中“C:/Users/rbonnes/.PyCharmCE2019.3/config/scratches/Rename_k1s.py”,第 16 行,在主前缀中,num = filename[:-3].split('_') ValueError: no enough values to解包(预期 2 个,得到 1 个)

标签: python rename valueerror


【解决方案1】:

很可能是这样的:

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

您需要确保由右侧表达式生成的数组正好有 2 个元素,以便将其解压缩为 prefixnum

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 2020-12-26
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2013-08-05
    • 2019-11-01
    相关资源
    最近更新 更多