diff --git a/Python/demo.py b/Python/demo.py index 00777292..147ede68 100644 --- a/Python/demo.py +++ b/Python/demo.py @@ -204,7 +204,9 @@ def test_remove_storage(): kv = mmkv.MMKV("test_remove", mmkv.MMKVMode.MultiProcess) kv.set(True, "bool") + print("check exist = ", mmkv.MMKV.checkExist("test_remove")) mmkv.MMKV.removeStorage("test_remove") + print("after remove, check exist = ", mmkv.MMKV.checkExist("test_remove")) kv = mmkv.MMKV("test_remove", mmkv.MMKVMode.MultiProcess) if kv.count() != 0: print("storage not successfully remove") @@ -214,7 +216,9 @@ def test_remove_storage(): kv = mmkv.MMKV("test_remove/sg", rootDir=rootDir) kv.set(True, "bool") - mmkv.MMKV.removeStorage("test_remove/sg") + print("check exist = ", mmkv.MMKV.checkExist("test_remove/sg", rootDir=rootDir)) + mmkv.MMKV.removeStorage("test_remove/sg", rootDir=rootDir) + print("after remove, check exist = ", mmkv.MMKV.checkExist("test_remove/sg", rootDir=rootDir)) kv = mmkv.MMKV("test_remove/sg", rootDir=rootDir) if kv.count() != 0: print("storage not successfully remove") diff --git a/Python/libmmkv_python.cpp b/Python/libmmkv_python.cpp index 5af610f0..26b56dd2 100644 --- a/Python/libmmkv_python.cpp +++ b/Python/libmmkv_python.cpp @@ -125,6 +125,7 @@ PYBIND11_MODULE(mmkv, m) { clsNameSpace.def("removeStorage", &NameSpace::removeStorage); clsNameSpace.def("isFileValid", &NameSpace::isFileValid); + clsNameSpace.def("checkExist", &NameSpace::checkExist); py::class_> clsMMKV(m, "MMKV"); @@ -435,4 +436,12 @@ PYBIND11_MODULE(mmkv, m) { }, "detect if the MMKV file is valid or not", py::arg("mmapID"), py::arg("rootDir") = MMKVPath_t()); + + clsMMKV.def_static("checkExist", + [](const string &mmapID, const MMKVPath_t &rootDir) { + MMKVPath_t *rootDirPtr = (!rootDir.empty()) ? (MMKVPath_t *) &rootDir : nullptr; + return MMKV::checkExist(mmapID, rootDirPtr); + }, + "check if the MMKV file is exist or not", py::arg("mmapID"), + py::arg("rootDir") = MMKVPath_t()); }