使用ChatGPT,三次对话生成批量处理文件的Python脚本

刚才需要将markdown文件批量转换为适合mediawiki的wiki格式文件,搜索了以下全网只有pandoc可以做到。于是下载pandoc,尝试使用命令转换了第一个文件:pandoc markdown.md -f markdown -t mediawiki -o mediawiki.wiki

于是打开ChatGPT这样说:

编写一个python脚本,自动查找当前目录下是否有.md结尾的文件,并依次进行处理;处理方法是:假设文件为a.md,则执行pandoc a.md -f markdown -t mediawiki -o a.wiki;要在python脚本的文件目录查找;如果已经有同名的wiki文件,就跳过这个文件。

得到了这段代码,实际使用中没有考虑到文件名中有空格,要使用双引号将文件名包含住这一点,没有遇到其他的BUG:

import os
import subprocess

# 获取当前脚本所在的目录路径
script_dir = os.path.dirname(os.path.abspath(__file__))

# 获取基础路径下所有以 .md 结尾的文件
md_files = [f for f in os.listdir(script_dir) if f.endswith('.md')]

# 遍历每个 .md 文件并处理
for md_file in md_files:
    # 构建 .md 和 .wiki 文件的路径
    md_path = os.path.join(script_dir, md_file)
    wiki_path = os.path.join(script_dir, md_file[:-3] + '.wiki')

    # 如果 .wiki 文件已经存在,跳过该文件
    if os.path.exists(wiki_path):
        print("File {} exists, continue".format(md_file[:-3] + '.wiki'))
        continue

    # 构建 pandoc 命令
    cmd = f'''pandoc "{md_path}" -f markdown -t mediawiki -o "{wiki_path}"'''

    # 调用 pandoc 命令
    print("Making file {} ".format(md_file[:-3] + '.wiki'))
    subprocess.run(cmd, shell=True)

新建cmd文件,里面这样写:

python ConvertMD2WIKI.py
pause

就可以直接工作了

REF:
1. 如何将Markdown转换为MediaWiki

版权声明:
作者:antior
链接:https://www.antior.cn/html/20230319_292.html
来源:Antior的个人网站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>