2017-04-20 2 views
0

나는 터미널에서 입력 한 내용을 bucket-one, 이는 아마존 웹 서비스 'S3에 존재, 내가하려고하면 다음

bucket = s3.Bucket(bucket_name) 
bucket = object(bucket) 

for obj in bucket.objects.all(): 

나는 에러를 본적이 Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$”. 심지어는 str(bucket_name)을 시도했지만 여전히 같은 오류가 발생합니다.

내가 잘못 할 수 있습니까? 사전에 감사하고 내가 BUCKET_NAME 지정 어떻게 대답을

을 투표하고 동의해야합니다 : 당신은 add_argument 호출에서 nargs=1를 제거해야

parser = argparse.ArgumentParser(description = 'Practice') 
parser.add_argument('--bucket_name', nargs = 1, default = None) 
args = parser.parse_args() 
bucket_name = args.bucket_name 
+0

어떻게 'bucket_name'을 (를) 지정 하시겠습니까? – jordanm

+0

'bucket_name'이 설정된 코드를 보여주십시오. – Soviut

+0

@jordanm EDIT –

답변

1

합니다. argparsedocs에서 :

Note that nargs=1 produces a list of one item. This is different from the default, in which the item is produced by itself.

당신은 버킷의 이름, 하나 개의 항목 목록이 아닌 캐릭터 라인 표현을 포함 s3.Bucket에 문자열을 전달하고 싶다.

+0

감사합니다! 일한 –