| import os | |
| import sys | |
| from typing import Optional, Tuple, Callable | |
| if "/www/server/panel/class" not in sys.path: | |
| sys.path.insert(0, "/www/server/panel/class") | |
| import public | |
| def write_file(filename: str, s_body: str, mode='w+') -> bool: | |
| """ | |
| 写入文件内容 | |
| @filename 文件名 | |
| @s_body 欲写入的内容 | |
| return bool 若文件不存在则尝试自动创建 | |
| """ | |
| try: | |
| fp = open(filename, mode=mode) | |
| fp.write(s_body) | |
| fp.close() | |
| return True | |
| except: | |
| try: | |
| fp = open(filename, mode=mode, encoding="utf-8") | |
| fp.write(s_body) | |
| fp.close() | |
| return True | |
| except: | |
| return False | |
| def read_file(filename, mode='r') -> Optional[str]: | |
| """ | |
| 读取文件内容 | |
| @filename 文件名 | |
| return string(bin) 若文件不存在,则返回None | |
| """ | |
| import os | |
| if not os.path.exists(filename): | |
| return None | |
| fp = None | |
| try: | |
| fp = open(filename, mode=mode) | |
| f_body = fp.read() | |
| except: | |
| return None | |
| finally: | |
| if fp and not fp.closed: | |
| fp.close() | |
| return f_body | |
| ExecShell: Callable = public.ExecShell | |
| set_ownership: Callable = public.set_ownership | |