首页 > 解决方案 > 在 aws ElasticBean Stalk 服务器上使用 os.getcwd() 读取文件时出现问题

问题描述

我的 Flask/Dash 应用程序读取文件/data目录。当我在本地运行应用程序时,我使用os.getcwd()读取 csv 文件。

df = pd.read_csv(os.getcwd() + "/data/file1.csv")

但是,在将应用程序部署到 AWS EB 实例/服务器时,我遇到了以下错误。

File "/var/app/current/base_rent_calc.py", line 38, in <module>

Jul 24 04:53:43 ip-172-31-20-89 web: df = pd.read_csv(os.getcwd() + "/data/file1.csv")

Jul 24 04:53:43 ip-172-31-20-89 web: FileNotFoundError: [Errno 2] No such file or directory

如何设置正确的文件路径/目录?或者我如何检查os.getcwd()AWS ElasticBean 上的内容。

标签: pythonpandasamazon-web-servicesflaskamazon-elastic-beanstalk

解决方案


我认为您需要连接到 Elastic Beanstalk 实例,找到“file1.csv”文件的文件路径,并为此使用绝对路径。

这里有关于如何连接到运行您的 EB 实例的 EC2 实例的文档。一旦你有了一个 ssh 会话,你就需要四处寻找文件。根据您的回答,我会这样做

cd /var/app/current
ls -lha

这将显示我猜是您的应用程序正在运行的目录中的所有文件。

一旦你也进入了那个目录,你就可以得到一个 python shell 并通过键入 python 来查看 os.getcwd() 的作用。


推荐阅读