flask/pythonanywhere - FileNotFoundError: [Errno 2] when trying to create a new folder
flask/pythonanywhere - FileNotFoundError: [Errno 2] when trying to create a new folder
我在将 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(),我认为它是一个绝对路径并且应该可以工作,但我不知道。任何帮助都感激不尽。我阅读了一些关于类似问题的答案,但无法解决,我尝试对路径进行编码,但结果相同。所以它一定是别的东西
当前工作目录可能不是您期望的目录。最好是
使用 os.path.dirname(__file__)
获取执行文件的路径
参考点。
虽然在 PythonAnywhere 上,您可以在网页上操作项目的 CWD
(工作目录设置).
另一件事是,您显示的错误意味着
'/home/XXX/app/static/JsonData/
不存在,因此与代码不匹配
你展示了(错误来自不同的代码或者你改变了
同时编码,也许?)。
我在将 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(),我认为它是一个绝对路径并且应该可以工作,但我不知道。任何帮助都感激不尽。我阅读了一些关于类似问题的答案,但无法解决,我尝试对路径进行编码,但结果相同。所以它一定是别的东西
当前工作目录可能不是您期望的目录。最好是
使用 os.path.dirname(__file__)
获取执行文件的路径
参考点。
虽然在 PythonAnywhere 上,您可以在网页上操作项目的 CWD (工作目录设置).
另一件事是,您显示的错误意味着
'/home/XXX/app/static/JsonData/
不存在,因此与代码不匹配
你展示了(错误来自不同的代码或者你改变了
同时编码,也许?)。