读取目录中的所有文件并将其解析为JSON

时间:2019-08-19 07:36:35

标签: javascript

我的目录充满了包含json内容的txt文件。我想读取整个目录并根据json标签值class UserViewSet(viewsets.ModelViewSet): serializer_class = RegisterSerializer queryset = User.objects.all() permission_classes = (permissions.AllowAny,) def create(self, request, *args, **kwargs): data = request.data ... 重命名文件。

我知道如何使用以下代码读取单个文件,但是如何读取整个目录?

label

2 个答案:

答案 0 :(得分:0)

这些代码为您提供了文件夹中文件的列表:

var fs = require('fs');
var files = fs.readdirSync('/assets/photos/');

然后,您可以遍历这些列表并编写代码。

答案 1 :(得分:0)

使用节点文件系统(fs)模块,您可以做所有您想做的事,前提是该文件可以在本地访问并且具有权限。这是一种可行的方法:

const fs = require("fs");
const dir = "/path/to/the/directory";
// get the directory contents
const files = fs.readdirSync(dir);
for (const file of files) {
  // for each make sure it's a file (not a subdirectory)
  const stat = fs.statSync(file);
  if (stat.isFile()) {
    // read in the file and parse it as JSON
    const rawdata = fs.readFileSync(file);
    try {
      const json = JSON.parse(rawdata);
      if (json.label) {
        // build the new filename using 'label'
        const newfile = `${dir}/${label}.json`;
        fs.renameSync(file, newfile)
      }
    }
    catch (err) {
      console.log(`Error working with ${file}. Err: ${err}`);
    }
  }
}

就是这个想法。为了安全起见,还可以进行其他错误检查,例如确保新文件名不存在。