-2
奇怪的問題我知道一個函數被調用了兩次,但我不知道它發生的地方或原因。爲什麼我的函數循環python
繼承人我的代碼:
8 def getAccessSecretName():
9 access_key = raw_input("Enter Access Key: ")
10 secret_key = raw_input("Enter Secret Key: ")
11 yourName = raw_input("Enter your name: ")
12 print "Access Key: %s" % access_key
13 print "Secret Key: %s" % secret_key
14 print "Your full name is: %s" % yourName
15 with open (tfVariables,"w") as text_file:
16 text_file.writelines(['access_key = \"'+ access_key +'\"\nsecret_key = \"'+ secre t_key +'\"\n\n\n',
17 'amis = {\n',
18 ' ',
19 'us-west-1 = '+ usWest1ami +'\n',
20 ' ',
21 'us-west-1 = '+ usWest2ami +'\n',
22 ' ',
23 '}'])
24 return access_key, secret_key, yourName
69 def makeMainTF():
70 NameTag,mcGroupTag,mcIPTag = makeNameMCTag()
71 access_key, secret_key, yourName = getAccessSecretName()
72 with open (tfFileName,"w") as text_file:
73 text_file.writelines(['provider \"aws\" {\n',
74 ' ',
75 'access_key = \"${var.access_key}\"\n ',
76 ' ',
77 'secret_key = \"${var.secret_key}\"\n ',
78 ' ',
79 'region = \"${var.access_key}\"\n ',
80 '}\n\n\n',
81 'resource \"aws_instance\" \"example\" {\n',
82 ' ',
83 'ami = \"${lookup(var.amis, var.region) }\"\n',
84 ' ',
85 'instance_type = \"%s\" \n}' % instan ceType,
86 '\n\n\n\n',
87 'tags {\n',
88 ' ',
89 'Name = \"%s\"\n' % NameTag,
90 ' ',
91 'Multicast = \"%s,%s\"\n' % (mcGroupT ag,mcIPTag),
92 ' ',
93 #'Owner = \"%s\"' % " " % yourName,
94 'Owner = \"%s\"' % yourName,
95 '\n}\n\n\n'])
所以這是我期待的事情發生。當我運行代碼時,它會提示用戶訪問密鑰,密鑰和名稱。然後重複給用戶一次並將信息寫入文件。當我呼叫這兩種功能時會發生什麼:
Enter Access Key: key1
Enter Secret Key: secret1
Enter your name: chowpay
Access Key: key1
Secret Key: secret1
Your full name is: chowpay
newnumber = 68
Name Tag: vlslabs67
Multicast Tag: vlslabmc, 172.16.0.67
Enter Access Key: key2
Enter Secret Key: secret2
Enter your name: chowpay2
Access Key: key2
Secret Key: secret2
Your full name is: chowpay2
請注意,它提示用戶輸入兩次密鑰及其名稱。這沒有道理,因爲這是我已經習慣了調用該函數:
getAccessSecretName()
makeMainTF()
謝謝!
我在第53行正確的函數修正上面的代碼,它是getAccessSecret 名稱(),而不是getAccessSecret()
修正再次添加了錯誤的功能makeTfVars被張貼在問題,但makeMainTF()是,這個問題應該是什麼。
要調用'getAccessSecretName()'從調用代碼,並再次從'makeTfvars()',但你不顯示如自調用。 – cdarke
誰是'getAccessSecret()'? – essramos
也請不要複製行號。 – Julien