2016-11-09 36 views
1

我试图通过Boto set_contents_from_filename()上传本地文件。我按照教程说明here但没有运气。我也尝试过在StackOverflow herehere中提到的变体,但我得到相同的错误。python boto set_contents_from_filename给出FileNotFoundError:[Errno 2]没有这样的文件或目录

任何试图调用set_contents_from_filename给“FileNotFoundError:[错误2]没有这样的文件或目录”

我的python脚本是在同一个子目录,我要上传的文件:AWS_Upload.txt。我的工作目录也设置正确。我可以成功调用set_contents_from_ (),所以我知道一切工作(我的钥匙,我的水桶等)

此外,下面的FILE_PATH常数通过尝试os.path.join创建一个遗留适当的完整路径,但我收到了同样的错误。

最后,文件确实存在。我将c:\ Apps \ Docs \ Python \ MyPy \ AWS_Upload.txt复制并粘贴到Windows文件资源管理器中,并且该文件出现在记事本中。

任何帮助,将不胜感激。

from boto.s3.key import Key 
import boto.sqs 

ACCESS_KEY='mykey' 
SECRET_ACCES_KEY='mysecret' 
BUCKET = 'pybucket234' 

FILE_PATH = 'c:\\Apps\\Docs\\Python\\MyPy\\' 
FILE_UPLOAD = 'AWS_Upload.txt' 

conn = boto.connect_s3(aws_access_key_id=ACCESS_KEY, 
         aws_secret_access_key=SECRET_ACCES_KEY) 

# Save some data 
bucket = conn.get_bucket(BUCKET) 
k = Key(bucket) 
k.key = 'myfilekey' 
k.set_contents_from_filename('AWS_Upload.txt') 
# FileNotFoundError: [Errno 2] No such file or directory: 'AWS_Upload.txt' 

# Tried this as well but get the same error 
k.set_contents_from_filename('c:\Apps\Docs\Python\MyPy\AWS_Upload.txt') 

# FileNotFoundError: [Errno 2] No such file or directory: 'c:\\Apps\\Docs\\Python\\MyPy\\AWS_Upload.txt' 

回答

0

我稍微改变了导入并改为使用boto.connect_s3()。上面的代码今天在不同的桶中对我多次工作。上面的'FileNotFoundErrors'不再出现。

相关问题