FileNotFoundError hatası

#1

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

0 Likes

#2

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

0 Likes

#3

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

0 Likes

#4

hayır, windows 7 kullanıyorum hocam.

0 Likes

#5
import os 
print(os.getcwd())

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

0 Likes

#6

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

0 Likes

#7

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

0 Likes

#8

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.
0 Likes

#9

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

0 Likes

#10

bir şöyle denermisiniz

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

1 Like

#11

Şu daha doğru olur:

os.chdir('dizin')

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

1 Like

#12

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

1 Like

#13

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.

0 Likes

#14

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

1 Like

#15
 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 Like

#16

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

0 Likes

#17

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

0 Likes

#18

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.

0 Likes

#19

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?

0 Likes

#20

ş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

0 Likes