我已经在本地计算机上成功测试了Flask
应用,并为以下应用设置了正确的app.yaml
和requirements.txt
文件(以及其余的应用文件) gCloud
,但对于在FileNotFoundError
Shell中创建的目录中实际存在的文件,我得到了gCloud
。
就上下文而言,我对Flask
应用和gCloud
应用的部署还很陌生。
我已经在本地计算机上成功测试了Flask
应用,并在{中设置了正确的app.yaml
和requirements.txt
文件以及其余文件{1}}云壳。作为上下文,在我的主项目目录(名为gCloud
)中,存在一个带有文件FlaskProject_App
的子文件夹“ static”。
但是,当我部署项目时,出现错误:
将open(CEW_file.txt
)作为word_file:
FileNotFoundError:[错误2]没有这样的文件或目录: 'CEW_file.txt'
我尝试在open()函数中列出CEW_file.txt
的整个路径(在gCloud中),但仍然出现相同的错误-无法找到文件。我在open()函数中尝试过的路径是CEW_file.txt
,但这也不起作用。
我还尝试了/home/vmagent/app/static/CEW_file.txt
,因为这些目录在我的~/FlaskProject_App/static/CEW_file.txt
中列出了(如下图所示),但是也失败了,给出了相同的gCloud
。
FileNotFoundError
我希望gcloud app deploy命令能够正常工作,但是,即使我在gCloud中的文件系统将common_words = []
with open('~/FlaskProject_App/static/CEW_file.txt', 'r') as
word_file:
f = word_file.read()
for line in f.split('\n'):
common_words.append(line)
存储为:
CEW_file.txt
,open()命令仍然提供了[myusername]/FlaskProject_app/static/CEW_file.txt
。
答案 0 :(得分:0)
此错误只是告诉您在提供的路径中找不到该文件。
我了解您的代码位于FlaskProject_app
文件夹中,并且在其中有一个名为static
的代码,其中包含CEW_file.txt
。
如果是这种情况,那么您应该可以使用
打开文件open('static/CEW_file.txt', 'r')
如果这样不起作用,请尝试使用以下行来查看static
文件夹中的文件:
cdir = os.getcwd()
files = os.listdir(cdir+"/static")
并打印files变量以查看是否可以在列表中找到CEW_file.txt
。如果您在此处看不到它,则必须将文件移到那里,这应该可以解决您的问题。