更改权限处理方式
This commit is contained in:
parent
44ccabd74d
commit
1c52ea88f4
1
pypvz.py
1
pypvz.py
@ -18,6 +18,7 @@ if __name__ == "__main__":
|
|||||||
logger = logging.getLogger("main")
|
logger = logging.getLogger("main")
|
||||||
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
|
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
|
||||||
fileHandler = RotatingFileHandler(c.USERLOG_PATH, "a", 1024*1024, 0, "utf-8")
|
fileHandler = RotatingFileHandler(c.USERLOG_PATH, "a", 1024*1024, 0, "utf-8")
|
||||||
|
os.chmod(c.USERLOG_PATH, 420) # 设置日志文件权限,Unix为644,Windows为可读、可写
|
||||||
fileHandler.setFormatter(formatter)
|
fileHandler.setFormatter(formatter)
|
||||||
streamHandler = logging.StreamHandler()
|
streamHandler = logging.StreamHandler()
|
||||||
streamHandler.setFormatter(formatter)
|
streamHandler.setFormatter(formatter)
|
||||||
|
|||||||
@ -66,23 +66,14 @@ class Control():
|
|||||||
# 因此仍然采用try-except实现而非if-else实现
|
# 因此仍然采用try-except实现而非if-else实现
|
||||||
try:
|
try:
|
||||||
# 存在存档即导入
|
# 存在存档即导入
|
||||||
|
# 自动修复读写权限
|
||||||
|
# Python权限规则和Unix不一样,420表示unix的644,Windows自动忽略不支持项
|
||||||
|
os.chmod(c.USERDATA_PATH, 420)
|
||||||
with open(c.USERDATA_PATH) as f:
|
with open(c.USERDATA_PATH) as f:
|
||||||
userdata = json.load(f)
|
userdata = json.load(f)
|
||||||
self.applyUserData(userdata) # 写入时也可能发生权限问题,因此放到try语句中
|
self.applyUserData(userdata) # 写入时也可能发生权限问题,因此放到try语句中
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
self.setupUserData()
|
self.setupUserData()
|
||||||
except PermissionError:
|
|
||||||
logger.warning("用户存档文件不可读!程序将自动设置存档文件为可读状态!\n")
|
|
||||||
# Python权限规则和Unix不一样,420表示unix的655,Windows自动忽略不支持项
|
|
||||||
os.chmod(c.USERDATA_PATH, 420)
|
|
||||||
try:
|
|
||||||
with open(c.USERDATA_PATH) as f:
|
|
||||||
userdata = json.load(f)
|
|
||||||
except json.JSONDecodeError:
|
|
||||||
logger.warning("用户存档解码错误!程序将新建初始存档!\n")
|
|
||||||
self.setupUserData()
|
|
||||||
else:
|
|
||||||
self.applyUserData(userdata)
|
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
logger.warning("用户存档解码错误!程序将新建初始存档!\n")
|
logger.warning("用户存档解码错误!程序将新建初始存档!\n")
|
||||||
self.setupUserData()
|
self.setupUserData()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user