我正在尝试在python终端中运行python脚本,该终端运行在我部署的heroku应用程序上。这个剧本有几个特点 pd.read_csv('~/path_to_csv_file')
在本地python终端中运行脚本时按预期工作的命令。但是当我尝试在我的heroku应用程序的终端上使用 heroku run python my_script_name
,我收到以下错误消息:
FileNotFoundError: [Errno 2] No such file or directory: '/app/path_to_csv_file'
什么是 /app
似乎要添加的前缀,如何指定正确的路径?
1条答案
按热度按时间e4yzc0pl1#
我会尽量使用
__file__
变量,该变量提供脚本的当前位置。我通常这样使用:
实际上,您的所有代码都部署到容器中的/app文件夹中(正如您可以在heroku上托管的我的一个项目的信息部分下面看到的):
如果你真的不想用
__file__
(谁知道呢),您将需要完全理解python相对文件系统是如何工作的(您第一次运行的脚本)python <file>.py
被视为“入口点”,即当前目录)。在示例中,您需要将csv放到一个目录中(确保它至少是您正在上载的应用程序中的一个目录),并参考您第一次运行的脚本:(很难使用“~”)