尝试通过使用名称遍历字典来重命名文件

Trying to rename files by iterating over a dictionary with their names

import os

os.chdir('/Users/julianl/Desktop/Rick and Morty Season 1')
names = {'1' : 'Pilot', '2' : 'Lawnmower Dog',  '3' : 'Anatomy Park',  '4' : 'M. Night Shaym-Aliens!',  '5' : 'Meeseeks and Destroy', '6' : "Rick Potion #9", '7' : "Raising Gazorpazorp", '8' : "Rixty Minutes", '9' : "Something Ricked This Way Comes", '10' : "Close Rick-counters of the Rick Kind", '11' : "Ricksy Business"}

i = 0
root = os.getcwd()
for filename in os.listdir('.'):
        for name in names:
        os.rename(os.path.join(root, filename), os.path.join(root, 'Episode {} {}.mkv').format(i, name))

    i += 1

您好,我是 python 程序的新手,我正在尝试通过添加可以在我制作的字典中找到的剧集名称来重命名文件夹中的文件。我需要帮助迭代它并将这些值放在我创建的 name 变量中。

您想使用剧集名称(我假设是文件名)来访问字典。

由于您想使用名称(而不是数字)查找剧集名称,您应该翻转字典键和值:

names = {'1' : 'Pilot', '2' : 'Lawnmower Dog', ... 变为 names = {'Pilot': '1', 'Lawnmower Dog': '2', ...

而不是for name in names:尝试:

try:
    name = names[filename]
except KeyError:
    # Filename was not found. Skip
    print("Filename "+filename+" not found")
    continue

这可能不是单词,具体取决于文件名的格式。我目前无法从您的问题中看出这一点。

另外 if filename.startswith('E'): 看起来它不应该存在。