python - 在 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 上的内容。
解决方案
我认为您需要连接到 Elastic Beanstalk 实例,找到“file1.csv”文件的文件路径,并为此使用绝对路径。
这里有关于如何连接到运行您的 EB 实例的 EC2 实例的文档。一旦你有了一个 ssh 会话,你就需要四处寻找文件。根据您的回答,我会这样做
cd /var/app/current
ls -lha
这将显示我猜是您的应用程序正在运行的目录中的所有文件。
一旦你也进入了那个目录,你就可以得到一个 python shell 并通过键入 python 来查看 os.getcwd() 的作用。
推荐阅读
- javascript - 如何将动态创建的按钮单击事件绑定到javascript中动态创建的输入?
- python - 如何测试列表是否按升序排序
- oracle - 计算列逗号分隔值 oracle
- git - 樱桃挑选如何在 Azure devops 中工作
- java - 如何修复 HTTP 504 网关超时异常
- python - 我有一段来自文本游戏项目的代码没有按预期工作
- spring-boot - 从侦探/勇敢者中排除特定控制器以进行追踪
- c++ - 无法使用 qtnetworkaccessmanager 登录,但可以使用邮递员工具
- java - 具有动态 localName 值的 JacksonXmlRootElement
- python - 使用 SSD Mobilenet (Tensorflow API) 进行 1080p 对象检测