[英]Append special character to a value in python
我正在嘗試刪除那些終止了環境(實例)的所有堆棧。 在將stack_name傳遞給delete_stack時,將引發錯誤。 我試圖將特殊字符(例如“”)添加到stack_name的值中,但是沒有運氣。 有人可以幫我解決問題。 提前致謝!
#!/usr/bin/env python
import boto
import boto.ec2
import boto.cloudformation
import re
from datetime import datetime, timedelta
utclast = datetime.utcnow() - timedelta(2)
conn = boto.cloudformation.connect_to_region('us-west-1',aws_access_key_id = '<access_key>',aws_secret_access_key = '<secret_key>')
conn_ec2 = boto.ec2.connect_to_region('us-west-1',aws_access_key_id = '<access_key>',aws_secret_access_key = '<secret_key>')
stacks = conn.list_stacks()
for stackSumm in stacks:
pattern = re.compile("Testupload-env([a-zA-Z0-9]+)")
match = pattern.match(stackSumm.stack_name)
if stackSumm.stack_status in "CREATE_COMPLETE" and match and stackSumm.stack_name in match.string:
m = re.split(r'Testupload-', stackSumm.stack_name)
instance = conn_ec2.get_all_instances(filters={"tag:Name": m[1]})
if not instance:
try:
print "Trying to delete stack: %s" % stackSumm.stack_name
conn.delete_stack(stackSumm.stack_name)
except boto.exception.BotoServerError, e:
print e.error_message
錯誤:
File "delete_stack.py", line 7, in <module>
conn.delete_stack(Testupload-envmeraleb8b01739116b0f36d17a2b5445b949f592bb625-6293)
NameError: name 'Testupload' is not defined
您發布的代碼均未產生錯誤,但NameError表示您未提供有效的堆棧名稱
delete_stack(stack_name_or_id)刪除指定的堆棧。 調用成功完成后,將開始刪除堆棧。 如果刪除已成功完成,則已刪除的堆棧不會顯示在DescribeStacks API中。
參數:stack_name_or_id(字符串)–與堆棧關聯的名稱或唯一標識符。
名稱/標識應為字符串,python中的字符串必須用單引號或雙引號引起來
stack_name = "Testupload-envmeraleb8b01739116b0f36d17a2b5445b949f592bb625-6293"
conn.delete_stack(stack_name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.