2016-03-30 28 views
4

Metin belgeleri içeren bir klasörden python 3 ile okumaya çalışıyorum. Özellikle, bu, LingSpam e-posta spam veri kümesinin bir değişikliğidir. Tüm 1893 metin belge isimlerini döndürmek için yazdığım kodu bekliyorum, ancak kod bunun yerine ilk 420 dosya ismini döndürüyor. Neden toplam dosya adlarının kısa olduğunu durduğunu anlamıyorum. Herhangi bir fikir?Neden glob.glob döngüsüm klasördeki tüm metin dosyaları arasında yinelenmiyor?

if not os.path.exists('train'): # download data 
    from urllib.request import urlretrieve 
    import tarfile 
    urlretrieve('http://cs.iit.edu/~culotta/cs429/lingspam.tgz', 'lingspam.tgz') 
    tar = tarfile.open('lingspam.tgz') 
    tar.extractall() 
    tar.close() 
abc = [] 
for f in glob.glob("train/*.txt"): 
    print(f) 
    abc.append(f) 
print(len(abc)) 

Küresel param paramlarını değiştirmeyi denedim, ancak yine de başarı yok.

Düzenleme: Görünüşe göre benim kodum benim için çalışıyor. İşte benim output

+5

Kodun benim için gayet iyi çalışıyor: https://asciinema.org/a/39x9vuca48gd7fieugpkicbbt – larsks

+0

Mutlak yolu kullanmayı denediniz mi? –

+0

Ben de onayladım. Benim için çalıştı. – Hun

cevap

0

Başarı! Sorun bu hat klasörü vardı olmadığı kontrol ve var mıydı beri ben aslında Bilgisayarıma indirilmiş dosyalar ve etmişti, benim çıkışını kontrol etmek

if not os.path.exists('train'): # download data 

, o sorunları neden oldu. Benim makinenin kapalı dosyaları silinmiş ve ben aynı sonucu olurdu eğer deyimi olmadan

from urllib.request import urlretrieve 
    import tarfile 
    urlretrieve('http://cs.iit.edu/~culotta/cs429/lingspam.tgz', 'lingspam.tgz') 
    tar = tarfile.open('lingspam.tgz') 
    tar.extractall() 
    tar.close() 

çalışan zanlısı olsa şimdi, olması gerektiği gibi çalışır.

İlgili konular