返回

用Python为你的业务自动化创建文件

前端

我们经常会遇到这样的问题,在项目中我们通常在编辑器中配置快捷键生成代码片段,但这些也满足不了我们。在项目中配置业务相关的一些模板文件,然后动态生成文件,显得尤为重要。不受编辑器的限制,更好的自定义配置,显得更为强大。

项目需求

我们有一个这样的业务需求,我们需要创建一个新的项目,这个项目需要创建一个目录结构,并在目录结构下创建一些文件,并且这些文件需要根据模板进行生成,并且生成的文件内容根据模板中的占位符进行替换。

解决方案

我们可以使用 Python 的 ospathlibstring 模块来实现这个需求。

首先,我们需要创建一个目录结构,可以使用 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 的文件,这个文件的