我的目录充满了包含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
答案 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}`);
}
}
}
就是这个想法。为了安全起见,还可以进行其他错误检查,例如确保新文件名不存在。