如何获取烧瓶中文件的文件路径?

时间:2017-06-27 20:34:48

标签: python flask

我有一个烧瓶应用程序,它利用Fabric将代码部署到某些机器上。

一种特殊方法fabric.contrib.files.upload_template需要 filename ,这是我想要上传到远程计算机的文件的路径。

我有一个文件index.php,我想把它放在我的远程机器上。我想使用upload_template来完成这项任务。

我应该在哪里放置' index.php'在我的烧瓶夹?我怎样才能获得upload_template的

的index.php路径

请注意:

  1. 我的应用程序托管在Heroku上,因此典型的/home/Sparrowcide/flaskapp/path/to/file无法正常工作。
  2. 我知道我可以通过调用写入/tmp/path/to/file的方法来逃避,但我不愿意,因为这不是一个非常优雅的解决方案。

1 个答案:

答案 0 :(得分:0)

简而言之,你可以把它放在任何你想要的地方,我不认为烧瓶会在这里对你施加任何形式的结构。但是我个人会创建一个名为data的子目录,然后在烧瓶应用程序中我可能会这样做:

path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data', 'index.php')

或者,如果我觉得我可能会重复使用这些信息(例如,如果我要上传多个文件),我可能会将其分解为多个变量:

SRCDIR = os.path.dirname(os.path.abspath(__file__))
DATADIR = os.path.join(SRCDIR, 'data')

whatever_upload_function(os.path.join(DATADIR, 'index.php'))