实现json存储文件
This commit is contained in:
57
utils/fs.py
Normal file
57
utils/fs.py
Normal file
@@ -0,0 +1,57 @@
|
||||
# 兼容PC和MicroPython的文件操作
|
||||
|
||||
# compat_fs.py
|
||||
try:
|
||||
import uos as os # MicroPython
|
||||
MICROPYTHON = True
|
||||
except ImportError:
|
||||
import os # CPython
|
||||
MICROPYTHON = False
|
||||
|
||||
def list_dir(path="."):
|
||||
"""列出目录内容"""
|
||||
return os.listdir(path)
|
||||
|
||||
def make_dir(path):
|
||||
"""创建目录"""
|
||||
if MICROPYTHON:
|
||||
os.mkdir(path)
|
||||
else:
|
||||
os.makedirs(path, exist_ok=True)
|
||||
|
||||
def remove_file(path):
|
||||
"""删除文件"""
|
||||
os.remove(path)
|
||||
|
||||
def read_file(path, mode="r"):
|
||||
"""读取文件内容"""
|
||||
with open(path, mode) as f:
|
||||
return f.read()
|
||||
|
||||
def write_file(path, data, mode="w"):
|
||||
"""写入文件内容"""
|
||||
with open(path, mode) as f:
|
||||
f.write(data)
|
||||
|
||||
def is_file(path):
|
||||
"""判断是否是文件"""
|
||||
try:
|
||||
st = os.stat(path)
|
||||
# MicroPython: stat()[0] >> 14 & 0xF == 8 表示普通文件
|
||||
if MICROPYTHON:
|
||||
return (st[0] >> 14) & 0xF == 8
|
||||
else:
|
||||
return os.path.isfile(path)
|
||||
except OSError:
|
||||
return False
|
||||
|
||||
def is_dir(path):
|
||||
"""判断是否是目录"""
|
||||
try:
|
||||
st = os.stat(path)
|
||||
if MICROPYTHON:
|
||||
return (st[0] >> 14) & 0xF == 2
|
||||
else:
|
||||
return os.path.isdir(path)
|
||||
except OSError:
|
||||
return False
|
||||
Reference in New Issue
Block a user