VNote导入原有文件列表

从群友哪里了解到VNote是一个开源的markdown笔记软件,听说很好用。然后我就下载下来开始使用,我想把之前写的markdown博客放到VNote的文件夹下,我把文件拷进去之后,但是并没有在笔记列表里显示。只有通过在软件里新建的笔记才能显示在列表上,然后我发现,在笔记文件夹下有个名叫_vnote.json的配置文件。格式如下:

{
    "created_time": "2019-08-23T06:59:10Z",
    "files": [
        {
            "attachment_folder": "",
            "attachments": [
            ],
            "created_time": "2019-04-23T15:01:26Z",
            "modified_time": "2018-08-11T09:31:28Z",
            "name": "test.md",
            "tags": [
            ]
        }
    ],
    "sub_directories": [
    ],
    "version": "1"
}

从其中可以看出,我们只要把我们原有的文件信息组装成这个json格式,那么就能显示在笔记列表中了。于是打算用python写一个脚本,帮我做这件事。

import os
import time

# 笔记本目录 下面放着文件
path = 'E:\\vnotebook\\博客文章'

files = []

file = {
    'attachment_folder': '',
    'attachments': [],
    'created_time': '2019-08-23T07:03:24Z',
    'modified_time': '2019-08-23T07:09:50Z',
    'name': 'test.md',
    'tags': []
}

# 获取文件名列表
file_list = os.listdir(path)

for index, fName in enumerate(file_list):
    # 过滤vnote配置文件
    if fName == '_vnote.json':
        continue
    # 修改时间
    modifiedTime = time.localtime(os.stat('E:\\vnotebook\\博客文章\\' + fName).st_mtime)
    # 创建时间
    createdTime = time.localtime(os.stat('E:\\vnotebook\\博客文章\\' + fName).st_ctime)

    formatStr = '%Y-%m-%dT%H:%M:%SZ'

    # 时间格式化
    modifiedTimeStr = time.strftime(formatStr, modifiedTime)
    createdTimeStr = time.strftime(formatStr, createdTime)

    print('------', index + 1, end='\n')
    print(fName, modifiedTimeStr, createdTimeStr, end='\n')

    newFile = file.copy()
    newFile['name'] = fName
    newFile['created_time'] = createdTimeStr
    newFile['modified_time'] = modifiedTimeStr
    files.append(newFile)

print(files)

将生成的json打印出来,替换掉配置文件中files的内容,重启笔记软件就好了。

你可能感兴趣的:(VNote导入原有文件列表)