FileNotFoundError hatası

isimler1.txt ve isimler2.txt olmak üzere iki txt dosyası oluşturdum. bu iki dosyada liste şeklinde sıralı isimler var. istihza’nın rehberine uyuyorum ve tahmin edeceğiniz üzere yapmaya çalıştığım şey döngüler konusundaki ilgili araçlar bölümündeki dosyaların içeriğini karşılaştırma maddesi.

image

bu kodları yazıyorum ve f5 yapıyorum aldığım sonuç bu:

neden bu hatayı alıyorum?

isimler2.txt dosyası dizinde yer alıyor gözlerimle görüyorum

Linux mu kullanıyorsunuz? Ben de linux’te dosya açmada sorun yaşıyorum.

F5 ile değil de komut satırından çalıştırmayı dener misiniz?

hayır, windows 7 kullanıyorum hocam.

import os 
print(os.getcwd())

çıktısını bir atabilirmisiniz program çalıştığında

sorunuzu tam anlayamadım ama sadece import os yapınca aldığım sonuç bu:
image

bu da yazdığım programı çalıştırınca olan
image

komut satırında denedim orada da aynı şekilde not readable dedi

Siz o yazdığınız satırdaki kodların hepsini

"""
"""
arasına alın ve print(os.getcwd()) çıktısını atın açmaya çalıştığınız dosya ile python
aynı yerdemi çalışıyor ona bakacağız.

hocam dediğinizi yaptım ve txt dosyalarının yer aldığı dizin çıkmadı, daha doğrusu direkt masaüstü çıktı. ben de o iki txt dosyasını masaüstüne aldım ve öyle denedim fakat yine aynı hatayı verdi. ne yapmam gerekiyor

bir şöyle denermisiniz

import os
os.system("cd Desktop")
sonra kodları yazın

1 Beğeni

Şu daha doğru olur:

os.chdir('dizin')

os modülü bu günler için var :slight_smile:

1 Beğeni

Linux kullanmadığı bariz ortada windows olduğu belli sanki ordaki file den sonraki şeyler bunlar için var :slight_smile:

1 Beğeni

arkadaşlar hepinize çok teşekkür ederim.

sorunun kaynağı bu arada “w” okutmaya çalışmammış. biraz araştırma yaptım ve kodları f=open(“isimler1.txt”,“r”) şeklinde düzeltince düzeldi.

oraya bir şey yazmazsanız zaten “r” olarak tanımlaması gerekiyor anlamadım ama neyse :slight_smile:

1 Beğeni
 It defaults to `'r'` which means open for reading in text mode

kendi dökümanlarındada yazıyor default olarak reading olduğu

1 Beğeni

istihza’nın kitabını takip etmiştim ve onların da yaptığı gibi bir şey yazmayınca bu hata sürdü neden bilmiyorum, “r” eklediğim an düzeldi

Sadece 'r' ekleyince düzelmesi imkansız, o zaten varsayılan olarak 'r'. Başka bir şey yapmadığınıza emin misiniz?

yani yazdığım program bu:

gelen çıktı da bu:

bilmiyorum ne yapmışım artık ama bu görsellerden ekstra bir şey falan yaptıysam anlaşılır herhalde :smiley: bunun haricinde txt dosyalarını cmd’den, istihza’da anlatıldığı gibi open fonksiyonuyla oluşturdum tekrar olması için. Daha sonra o dosyaları c’den alıp masaüstüne getirdim. Burada bir etki olduğunu sanmıyorum zira bunları yaptıktan sonra da program çalışmamaya devam etti. “r” eklediğim an okudu.

Bir soru daha ortaya çıktı arkadaşlar. Anlatmaya çalışacağım.

Bu benim isimler1.txt dosyam:
image

Bu benim isimler2.txt dosyam:
image

Şimdi ben burada (isimler1 \ isimler2) kümesini yazdırmak istiyorum. Bunun için yazdığım program ve gelen sonuç şu şekilde oldu:

Eğer on dakikadır yanlış görmüyorsam “Özkan” isimler1’de de isimler2’de de yazıyor. Peki neden bunu bana o fark kümesinde gibi gösteriyor bu program? Hatam nerede izah edebilir misiniz lütfen?

şimdi senin için bir kod yazacağım

isimler1.txt

emre
arzu
mustafa
yazbel
Bu isimler txt dosyası

isimler2.txt

mehmet
lalala
emre
arzu

gördüğün gibi emre ile arzu ikisindede var şimdi kodu yazalım

a = open("isimler1.txt").readlines()
b = open("isimler2.txt").readlines()

for olmayanlar in a:
    if not olmayanlar in b:
        print(olmayanlar)

#OUTPUT

#Mustafa
#yazbel

Arzu ve emre gördüğün gibi yok