Python 如何使用字典查找和替换?

Python 如何使用字典查找和替换?,python,Python,你很快就会发现,我对Python不太精通,但事情是这样的。我正在寻找用数字编号替换图像文件名,用于以降价方式编写的书稿中的所有插图,即photo1.jpg变成3.3a 我有一个字典,将每个图像文件链接到相应的数字编号,并尝试使用该字典查找和替换多个文件(即本书的每个章节) 以下程序运行,但根本不编辑/更改我的文件。我想我忽略了一些可笑的简单问题,但以下是我所拥有的: import re, glob, os dict([('photo1.jpg', '3.3a'), ('photo2.jpg',

你很快就会发现,我对Python不太精通,但事情是这样的。我正在寻找用数字编号替换图像文件名,用于以降价方式编写的书稿中的所有插图,即
photo1.jpg
变成
3.3a

我有一个字典,将每个图像文件链接到相应的数字编号,并尝试使用该字典查找和替换多个文件(即本书的每个章节)

以下程序运行,但根本不编辑/更改我的文件。我想我忽略了一些可笑的简单问题,但以下是我所拥有的:

import re, glob, os

dict([('photo1.jpg', '3.3a'), ('photo2.jpg', '3.3b')])

os.chdir('/Users/me/book')

for file in glob.glob("*.md"):
    open(file)

    def replace_all(file, dict):

        for i, j in dict.items():
            file = file.replace(i, j)
        return file

删除明显错误后:

repls = {'photo1.jpg': '3.3a', 'photo2.jpg': '3.3b'}

for filename in glob.glob("*.md"):
    with open(filename) as file:
        text = file.read()

    for img, fignum in repls.items():
        text = text.replace(img, fignum)

    with open(filename, "w") as file:
        file.write(text)

关键是
glob.glob
返回文件名,您必须将其作为文件打开。

删除明显错误:

repls = {'photo1.jpg': '3.3a', 'photo2.jpg': '3.3b'}

for filename in glob.glob("*.md"):
    with open(filename) as file:
        text = file.read()

    for img, fignum in repls.items():
        text = text.replace(img, fignum)

    with open(filename, "w") as file:
        file.write(text)

关键是
glob.glob
返回文件名,您必须将它们作为文件打开。

我爱您。你不知道你帮了我多少忙,我爱你。你不知道你刚才帮我省了多少工作。