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

时间:2015-11-15 01:50:03

标签: python

我不会精通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

1 个答案:

答案 0 :(得分:1)

删除了明显的错误:

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返回文件名,您必须将它们作为文件打开。