2016-07-15 6 views
1

私は以下の機能を持っています。私は2つの文字列を連結したいのですが、私はここで何をしていますか?それを実行した後Pythonでネームエラーを取得する

conf_cmd + =キー+ '\ n' が、私はこのエラーを取得:

commands = ["abcd","123"] 

def configure_dev(self, steps): 
    func_name = self.id + ':configure dev' 

    global conf_cmd 
    for key in commands: 
     conf_cmd += key + '\n' 
    print(conf_cmd) 

は、次のエラーを取得する NameError: name 'conf_cmd' is not defined

+3

ここで、「conf_cmd」を定義しましたか? 'global'は新しい変数を作成しません。 –

+1

グローバルとして設定しますが、定義されていません。 – Fallenreaper

+0

ありがとう、私の愚かだった。 – Invictus

答えて

1

重大な問題が解決された状態でコードを追加しました。

commands = ["abcd","123"] 
def configure_dev(self, steps): 
    func_name = self.id + ':configure dev' 
    global conf_cmd = '' // <-- '' 
    for key in commands: 
    conf_cmd+=key+'\n' 
    print(conf_cmd) 
+0

'configure_dev'を呼び出すたびに文字列が空になることに注意してください。 –

+0

Imは彼の期待が何であるかはっきりとは分かっていませんが、コーディングを期待して、関数が呼び出されるたびに、彼はそれを再初期化する予定でした。それとも少なくとも私は彼らのコードから拾ったものです。 – Fallenreaper

1

すべてを行う必要があります追加する:

直後commands = ["abcd","123"]

なぜですか? global conf_cmd新しい文字列を作成しません。グローバル変数にアクセスできることを意味します。

関連する問題