相对路径在Python中不起作用

时间:2017-07-28 12:31:47

标签: python linux relative-path boto3

我的Python脚本无法在以下脚本中解析Linux服务器上的相对路径:

import boto3
import os

conn = boto3.client('s3', region_name="eu-west-1", endpoint_url="https://example.com", config=Config(signature_version="s3", s3={'addressing_style': 'path'}))
conn.download_file('mytestbucket22', 'file.csv', os.path.join(os.getcwd(), 'static', 'filecache', 'file.csv'))

错误:

[Errno 2] No such file or directory: '/home/vcap/app/static/filecache/file.csv.D3e3D7aF'

但是,当我这样做时,它可以工作,并将文件保存到我的脚本路径。

conn.download_file('mytestbucket22', 'file.csv', 'file.csv')

我的文件夹和文件结构如下所示:

--script.py
--static
----filecache

如何将文件保存到文件夹filecache?感谢

2 个答案:

答案 0 :(得分:4)

conn.download_file('mytestbucket22', 'file.csv', os.path.join(os.getcwd(), 'static', 'filecache', 'file.csv'))

上面使用的模块,常量和函数的文档参考:

答案 1 :(得分:0)

我会用

conn.download_file('mytestbucket22', 'file.csv', os.path.join(os.path.dirname(sys.argv[0]), 'static', 'filecache', 'file.csv'))