我正在计划制作文件管理器系统,但是当我应用返回目录内容的函数时会产生错误,这是一个奇怪的问题!
这是我的函数返回目录内容(在我的机器中100%工作)
def GET_Contents(filepath):
os.chdir("files")
os.chdir(filepath)
contents=os.listdir(os.getcwd())
return contents
以及来自文件管理器系统的代码
@route("/TofePanel/FileManager/<filepath:path>")
def FileMamager(filepath):
if request.get_cookie("__auth",secret="xxxxxxxx") is "xxxxxxxx":
cont=GET_Contents(filepath)#just calling the function and ignore result
return template("static/templates/TCP/FileMgr",PATH=filepath)
else:
redirect("/TofePanel/Login")
它引发了一条错误消息:Template 'static/templates/TCP/FileMgr' not found.
但是当我对cont=GET_Contents(filepath)#just calling the function and ignore result
发表评论时,它运作正常!
答案 0 :(得分:2)
不要更改工作目录;模板加载逻辑依赖于当前工作目录保持稳定。
您可以轻松列出目录,而无需更改工作目录:
def GET_Contents(filepath):
return os.listdir(os.path.join('files', filepath))