奇妙な問題関数が何回か呼び出されていることは知っていますが、どこで、なぜそれが起こったのかわかりません。なぜ私の関数はPythonをループしています
HERESに私のコード:
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
キーと名前を2回入力するように促すメッセージが表示されます。これは私が関数を呼び出すために使用したすべてのものなので意味がありません:
getAccessSecretName()
makeMainTF()
ありがとう!
私は53行で、正しい機能を持つ上記のコードを修正しましたが、それは間違った関数makeTfVarsを追加するために再びgetAccessSecret 名()、ないgetAccessSecret()
補正では、中に投稿されましたmakeMainTF()という質問は、質問にあると思われるものでした。
あなたは、呼び出し元のコードから 'getAccessSecretNameを()'を呼び出すと、再び 'makeTfvars()'から、それが呼び出される場合、あなたは表示されませんされています。 – cdarke
誰が 'getAccessSecret()'ですか? – essramos
行番号もコピーしないでください。 – Julien