我正在製作一個文件類型來存儲來自我的程序的信息。文件類型可以包括以#開頭的行,如:刪除列表中的所有項目#
# This is a comment.
如圖所示,行前的#表示註釋。 我已經用Python寫的一個程序,可以閱讀這些文件:
fileData = []
file = open("Tutorial.rdsf", "r")
line = file.readline()
while line != "":
fileData.append(line)
line = file.readline()
for item in list(fileData):
item.strip()
fileData = list(map(lambda s: s.strip(), fileData))
print(fileData)
正如你所看到的,它需要的文件,增加了每行作爲一個列表中的項目,並去除\ n的項目。到現在爲止還挺好。
但是,這些文件通常包含我所做的評論,並且這些程序將它們添加到列表中。
有沒有辦法從#開始刪除列表中的所有項目?
編輯:爲了使事情更清楚一點:評論不會是這樣的:
Some code:
{Some Code} #Foo
他們會是這樣的:
#Foo
Some code:
{Some Code}
不要使用while循環,直接遍歷文件。你的'readline' while循環可以被'fileData = file替換。readlines()'(複數)或'fileData = list(file)'。 –
你的'for'循環去除線條根本不起作用,因爲你永遠不會分回去掉的線條。你不需要調用'list()'沒有一個對象已經是一個列表。 –
請參閱[什麼是Python中「完美對應」的對應方法](// stackoverflow.com/q/15599639) –