2015-06-17 21 views
0

python非常新 - 剛剛開始實際使用它。我正在運行一個for循環,掃描一個文本文件並將其特定部分複製到變量中,然後將其放入「post」類中​​。我想在循環底部創建一個名爲「post0」,「post1」等的新帖子,與for循環的運行次數相對應。這就是我想要的使用方法:嘗試在for循環中創建多個變量時獲取KeyError(「post0」,「post1」等)

postname = globals()['post%s' % s]

而且我現在想有它的每一個它創建一個具有簡單print(postname)時間打印後的名稱。 's'是for循環運行的變量,如果有意義的話。它從0開始,一直運行到文本文件中的行數,當前爲424.

當我運行代碼時,它返回「KeyError:post0」。我究竟做錯了什麼?

此外,閱讀這裏看來,這種方式創建變量是不好的做法。如果有一種更有效的方法來做到這一點,我會很樂意嘗試,但我也想知道如何使這種方法工作,所以我理解了這個概念。謝謝。

編輯:問題解決!請參閱下面的答案。

回答

0

我在循環的外部創建了一個列表postlist = [],然後在循環內部,我在列表中添加一個「post_」,其中「_」是's'變量。看起來是這樣的:

postlist.append('post%s' % s)

Python是爽!