【发布时间】:2021-10-13 21:02:51
【问题描述】:
这是我第一次使用 Heroku,它是临时文件系统。我有一个 python 脚本,它需要一个临时文件夹来在脚本运行时写入一些文件。
我首先做了什么:按照这个逻辑在我的 heroku 根文件夹中创建一个 'tmp' 文件夹:
mkdir tmp
touch tmp/.keep
git add tmp/.keep
git commit -m "Add tmp directory to app repository."
我还创建了一个简单的 python 脚本来将数据框存储到文本文件中:
import pandas as pd
df = pd.DataFrame( {'Name': {0: 'John', 1: 'Luc', 2: 'Steph'}, 'Gender': {0: 'Male', 1: 'Male', 2: 'Female'}, 'Age': {0: 55, 1: 47, 2: 20}} )
df.to_csv('tmp/df.txt')
在 Heroku CLI 中,我使用以下命令运行该脚本:
heroku run python createfile.py
脚本运行后,我使用 bash 转到“tmp”文件夹:
heroku run bash
cd tmp
ls
但文件夹是空的,而我希望 df.txt 在那里。 有没有我遗漏的步骤?还是我需要一个付费 Heroku 帐户才能写入 tmp 文件夹?我必须先 chmod 这个文件夹吗?
edit:我做了更多测试,似乎文件正确写入了 tmp 文件夹。只是在使用“heroku run bash”命令时看不到/被删除。
【问题讨论】: