为了账号安全,请及时绑定邮箱和手机立即绑定

如何在烧瓶中正确创建文件夹和路径

如何在烧瓶中正确创建文件夹和路径

慕妹3242003 2023-06-20 10:45:01
我在烧瓶中创建了一个文件夹和路径,如下面的代码所示:def add_video(form_video, loc, foldername1, foldername2):    filename = secure_filename(form_video.filename)    if len(filename) < 0:        return False;    randon_hex = secrets.token_hex(8)    _, f_ext = os.path.splitext(filename)    video_fn = randon_hex + f_ext     #filename    """ create vide upload folder for each course uploaded by a user"""    if loc == 'v_uploads':        video_path = os.path.join(current_app.root_path, 'static\\stylesheets\\v_uploads\\' + str(foldername1) + '\\' + str(foldername2),  video_fn )        os.makedirs(os.path.dirname(video_path), exist_ok=True)        form_video.save(video_path)        """        size = os.stat(video_path).st_size        """    return video_fn这适用于我计算机上的本地主机。但是当站点使用 unicorn 和 nginx 远程部署时,它没有创建文件夹 stylesheets/v_uploads/john/python/video.mp4,而是创建了一个名为“static\stylesheets\v_uploads\john\video”的文件夹。我的意思是上传路径没有正确创建。我究竟做错了什么 ?
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

远程主机正在运行 Linux,其中\不是目录分隔符;它是文件名中的有效字符。所以它按照你的要求做了,并创建了那个文字文件名。

更改您的join()调用以分别传递每个组件,它将正确组装路径,使用主机操作系统的适当目录分隔符:

video_path = os.path.join(current_app.root_path, 'static', 'stylesheets', 'v_uploads', str(foldername1), str(foldername2),  video_fn)


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信