python - 如何在 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 上)中创建文件并使用上面显示的初始内容填充它们?
解决方案
像这样的东西?
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)
等。
推荐阅读
- jquery - 如何在jquery中单击iFrame时更改动态添加的iframe的背景颜色
- vb.net - 为什么我的 Visual Studio 不显示任何文本?
- javascript - 将数据保存到 sharedPreference android 并读取 react native
- flutter - 在 dispose 方法中获取提供程序方法不起作用
- java - 我们如何在 birt 预览之前调用 Rest Service
- android - 当我将回收站视图滚动到顶部时,回收站视图项目消失
- amazon-web-services - AWS Redshift 查询过长异常
- c - avx 程序 (Linux) 上的分段错误(核心转储)
- swift - 为什么objectWillChange没有效果
- python - 有没有更快的方法来解析这个文本文件?