2016-04-13 22 views
0

Bir dizinden bir metin dosyası listesi oluşturmaya çalışıyorum, bu yüzden onlardan temel verileri ayıklayabiliyorum, ancak işlevim de liste dosya yollarının bir listesini içerir. listenin ilk öğesi. Çalışmamış olan del full_text [0] 'ı ve diğer herhangi bir değeri ve ayrıca kaldırma işlevini denedim. Bunun neden olabileceğine dair bir fikrin var mı? TeşekkürPython listesi ilk öğeyi silemiyor

import glob 

file_paths = [] 
file_paths.extend(glob.glob("C:\Users\12342255\PycharmProjects\Sequence  diagrams\*")) 
matching_txt = [s for s in file_paths if ".txt" in s] 
print matching_txt 
full_text = [] 
def fulltext(): 
    for file in matching_txt: 
     f = open(file, "r") 
     ftext = f.read() 
     all_seqs = ftext.split("title ") 
     print all_seqs 
full_text.append(fulltext()) 
print full_text 
+3

- newList = oldList[1:]

2) kaldırma yöntemini kullanın. Bu nedenle, 'full_text' boş kalır. – RobertR

+0

Listenin bir kısmını kopyalamak için dilim formatını kullanın. 'full_text = full_text [1:]' – mpez0

+0

@RobertR: 'fulltext()' varsayılan olarak 'None'ı döndürür, bu nedenle' full_text' listesi, 'None'' için bir referansa sahip olmayan bir öğeye sahip olacaktır ' – cdarke

cevap

0

Sen dilimleme kullanabilirsiniz birinci elemanın kurtulmak için - full_text[1:]. Bu, listenin bir kopyasını oluşturur. Aksi takdirde, full_text.pop(0) can ve full_text

-1

bunu yapmak için en az iki yollarını görmek kullanmaya devam:

1) ilk pozisyona örneğin yeni bir liste oluşturabilirsiniz Aslında `tam metin()` işlevi bir şey dönen değiliz full_text.remove(full_text[0])