2015-06-21 170 views
0

试图运行这段代码:亚马逊S3文件上传

import boto 
s3 = boto.connect_s3() 
bucket = s3.create_bucket('hopethisworks') # bucket names must be unique 
key = bucket.new_key('examples/first_file.csv') 
key.set_contents_from_filename('C:\Python27\all_month.csv') 
key.set_acl('public-read') 

得到以下错误:

IOError: [Errno 22] invalid mode ('rb') or filename: 'C:\Python27\x07ll_month.csv'

如何突破这个?

回答

0

你需要逃避你的反斜线:

key.set_contents_from_filename('C:\\Python27\\all_month.csv') 

,或者使用 “原始” 的字符串(注意r前缀),禁用反斜杠:

key.set_contents_from_filename(r'C:\Python27\all_month.csv') 

在你的代码中,转义序列\a被翻译成BEL字符(也表示为\x07)。

+0

这有帮助!谢谢。 – AK1992