我有以下對象:如何在Python中填充對象?
FILES = (
('hello3.txt', True),
)
如何將新元素添加到文件?
我想:FILES.append("name.txt")
我用這個例子,並需要添加從目錄中的元組中的所有文件:https://groups.google.com/forum/#!topic/google-appengine/QOMzUhZ2b3Q
我有以下對象:如何在Python中填充對象?
FILES = (
('hello3.txt', True),
)
如何將新元素添加到文件?
我想:FILES.append("name.txt")
我用這個例子,並需要添加從目錄中的元組中的所有文件:https://groups.google.com/forum/#!topic/google-appengine/QOMzUhZ2b3Q
'tuple' object does not support item assignment.
就像Moses Koledoye說的,元組對象是不可變的。
如果你想添加或刪除FILES
, 嘗試:如果您想更改文件或T/F值的名稱
FILES = [('hello3.txt', True)]
FILES.append(('new.txt', False))
,使用list
代替tuple
。
FILES = [['hello3.txt', True]]
FILES.append(['new.txt', False])
FILES[0][1] = False
但是我認爲這些代碼是如此的醜陋。我更喜歡創建一個類而不是使用列表。
class File:
__slots__ = 'name', 'flag'
def __init__(self, name, flag):
self.name = name
self.flag = flag
FILES = [File('hello3.txt', True)]
FILES.append(File('new.txt', False))
FILES[0].flag = False
還有一個簡單的方法,如果你的文件只有2個屬性(名稱和標誌)。
FILES = {'hello3.txt': True}
FILES['new.txt'] = False
您正在使用這裏的元組。有不可變的,創建後你不能添加東西。
最好的辦法就是在這裏使用的另一種數據結構:列表!如果您需要了解「詞典」更加困難和高性能結構 https://docs.python.org/3/tutorial/datastructures.html
:
FILES = ['hello3.txt', True]
現在追加功能,可以完成自己的工作
FILES.append("name.txt")
更多不同的數據結構在這裏。
元組是不可改變的,考慮讓'FILES'列表 –
使用'A = '1',真]'然後'a.append( '東西')' – sashoalm
我用這個例子,需要添加到元組目錄中的所有文件:https://groups.google.com/forum/#!topic/google-appengine/QOMzUhZ2b3Q – Griboedov