2015-05-06 50 views
0
files = "a.txtb.txt" 

if files.find(".txt") != -1: 
    files = files.split(".txt") 
    files.remove("") 
    [ file + ".txt" for file in files ] 
    print(files) 

我是新來的蟒蛇。我想要的輸出結果是列表文件= [a.txt,b.txt],但出於測試的原因,我必須先在前面完成所有這些工作。我不明白爲什麼字符串不能附加到我列表中的所有元素。Python:爲什麼字符串不附加到列表中的每個元素?

+2

爲什麼不把'split()'放在'',''?上? – TigerhawkT3

+1

由於「不能附加」,你的意思是「被追加,但因爲結果沒有被重新分配到'文件'」而被扔掉了嗎? – TigerhawkT3

+0

或者更好的是,'re.split'可以分割成多個字符。 –

回答

2

您需要將列表重新分配到files。按照它的意思,它只是拋出帶有附加值的列表。

例如

files = [ file + ".txt" for file in files ] 
2

使用非貪婪的正則表達式來查找包含的文本文件:

files = re.findall(r'\w+?\.txt', file_string) 
-1

你可以做到以下幾點,以獲得期望的結果:

files = "a.txt, b.txt" 
results = files.split(',') 

在此之後,結果將以列表的形式包含所需的結果。

相關問題