首页 > 解决方案 > 如何在 Windows 上使用来自 Python 数组的内容创建文件?

问题描述

我有一堆 Python 数组,例如;

fileNameArray = ['fileName1', 'fileName2', 'fileName3']
titleArray = ['aTitle', 'bTitle', 'cTitle']
tagArray = ['abc', 'def', 'ghi', 'jkl', 'mno']

因此,当我运行程序时,输出应该是三个文件,名称分别为“fileName1.mdx”、“fileName2.mdx”、“fileName3.mdx”,其内容如下所示;

---
title: 'aTitle'
Date Added: '2020-11-11'
summary: 'xyz.'
image: '/static/images/123.png'
tags: 'abc, def, ghi, jkl, mno'
---

当我运行程序时,如何创建一个名为 fileNamex.mdx 的文件,其名称来自 fileNameArray,其内容如来自 titleArray 的标题标签和来自 tagArray 的标签键值。

summary 和 image 等其他键是静态的,即示例中显示的相同值应该在所有文件上。

那么,基本上,我如何在 Python(在 Windows 上)中创建文件并使用上面显示的初始内容填充它们?

标签: pythonarraysfile

解决方案


像这样的东西?

for file, title in zip(fileNameArray, titleArray):
    with open(file + '.mdx', 'w') as handle:
        for line in (
                "---", "title: '" + title + "'",
                "summary: 'xyz'", "image: ''/static/images/123.png'",
                "tags: '" + ", ".join(tagArray) + "'", "---"):
            handle.write(line + '\n')

风格上f"title: '{title}'"可以说会更优雅,但是对于这种"tags: ..."情况,f-string 会变得相当不可读和令人困惑,所以我一直使用简单的字符串连接。第三种选择是使用传统的字符串格式"title: '%s'" % (title)等。


推荐阅读