【问题标题】:flask/pythonanywhere - FileNotFoundError: [Errno 2] when trying to create a new folderflask/pythonanywhere - FileNotFoundError: [Errno 2] 尝试创建新文件夹时
【发布时间】:2021-09-18 04:24:02
【问题描述】:

我在将 Flask 应用程序部署到 pythonanywhere 时遇到问题。

我确实有一个注册表单,当用户唱歌时,我想创建一个文件夹,其中包含用户名和一个 .josn 文件,用于存储用户稍后将输入的其他数据。

它在我的本地服务器上运行良好,但是在将项目上传到 pyhtonanywhere 时出现以下错误:

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'/home/XXX/app/static/JsonData/foldername'

查找路径似乎有问题,但我不知道如何解决。这是我的代码:

        ## ----------- CREATE A FOLDER WITH USERNAME (TO STORE JSON FILES) --------- ##
        ## creates a folder in JsonData folder to store the project data files ##
        ## the folder name is = username used to signup ##
        cwd=os.getcwd()
        path=os.path.join(cwd, new_user.username)
        os.mkdir(path)

        ## ----------- CREATES FIRST JSON FILE TO STORE PROJECT DATA --------- ##
        # creates a first json file called username_BaseScenario stored in the previous folder
        jsonName=formSignup.username.data + '_BaseScenario.json'
        filePath=os.path.join(path, jsonName)

       ## ---- CREATES A NEW JSON FILE TO STORE PROJECT DATA ------ ##
        #create a dictionary that will be transformed into a json file
        newProject={
                   bunch of lines code for the dictionary
        }

        #converts the dict to json and store it in the fileName path
        with open(filePath, 'w') as outfile:
            json.dump(newProject, outfile)

我正在使用 getcwd(),我认为这是一条绝对路径,它应该可以工作,但我不知道。任何帮助都感激不尽。我阅读了一些关于类似问题的答案,但我无法解决它,我尝试对路径进行编码,但结果相同。所以它一定是别的东西

【问题讨论】:

    标签: python flask path mkdir pythonanywhere


    【解决方案1】:

    当前工作目录可能不是您所期望的。最好是 使用os.path.dirname(__file__) 获取执行为的文件的路径 参考点。

    不过,在 PythonAnywhere 上,您可以在网页上操作项目的 CWD (工作目录设置)。

    另一件事是,您显示的错误意味着 '/home/XXX/app/static/JsonData/ 不存在,因此与代码不匹配 你展示了(错误来自不同的代码,或者你改变了 代码同时,也许?)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 2020-09-15
      • 1970-01-01
      • 2020-08-25
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多