返回
用Python为你的业务自动化创建文件
前端
2023-11-20 21:48:17
我们经常会遇到这样的问题,在项目中我们通常在编辑器中配置快捷键生成代码片段,但这些也满足不了我们。在项目中配置业务相关的一些模板文件,然后动态生成文件,显得尤为重要。不受编辑器的限制,更好的自定义配置,显得更为强大。
项目需求
我们有一个这样的业务需求,我们需要创建一个新的项目,这个项目需要创建一个目录结构,并在目录结构下创建一些文件,并且这些文件需要根据模板进行生成,并且生成的文件内容根据模板中的占位符进行替换。
解决方案
我们可以使用 Python 的 os
、pathlib
和 string
模块来实现这个需求。
首先,我们需要创建一个目录结构,可以使用 os.makedirs()
函数来实现。
import os
# 创建目录结构
os.makedirs('my_project/src')
os.makedirs('my_project/test')
接下来,我们需要创建一个模板文件,这个模板文件可以是任何格式的文件,比如 .txt
、.json
或 .xml
文件。
{
"name": "${name}",
"age": "${age}",
"city": "${city}"
}
然后,我们需要创建一个 Python 脚本来动态生成文件,这个脚本可以从命令行运行。
import os
import pathlib
import string
# 模板文件路径
template_path = 'template.json'
# 输出目录路径
output_dir = 'my_project/src'
# 占位符替换字典
replacements = {
"${name}": "John Doe",
"${age}": "30",
"${city}": "New York"
}
# 读取模板文件内容
with open(template_path, 'r') as f:
template_content = f.read()
# 替换模板文件中的占位符
for key, value in replacements.items():
template_content = template_content.replace(key, value)
# 在输出目录下创建文件
with open(os.path.join(output_dir, 'data.json'), 'w') as f:
f.write(template_content)
运行这个脚本后,会在 my_project/src
目录下生成一个名为 data.json
的文件,这个文件的