FileNotFoundError hatası

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

hocam ben benim kodlarda da bir fark göremiyorum ama niye benim yazdığım programda hatalı oluyor sonuç ısrarla?

görünüşte bir hata yok tahminimce iki dosya arasındaki özkan şöyle olmalı
ilk Dosya :

“Özkan”

ikinci Dosya :

"Özkan "

yani birinde bir boşluk farklılık olabilir. .strip(" ") ile boşluk karekterleri alabilirsin

1 Beğeni

Çok garip. Oraya 'r' yazmasanız da o değerin varsayılan değeri 'r' zaten. Bence bu araştırmaya değer bir konu. Bu Python’ın bir hatası mı acaba? Sizden şunları isteyebilir miyim:

  1. Şu anki hali ile programı çalıştırın ve düzgün çalıştığını onaylayın.
  2. Sadece open fonksiyon çağrılarındaki 'r''leri silerek aynı şekilde programı tekrar çalıştırın. Sonuca bakın.

Bu iki çalıştırma sırasında hiçbir fark olmasın. Sadece 2. adımda 'r' karakter dizilerini silin.

Eğer ilkinde sonuç doğru, fakat ikincide hata alıyorsanız bu durumda Python’da bir hata vardır. Öyle bir durum olursa bu durumu ben de aynı şekilde oluşturmaya çalışacağım bilgisayarımda.

Buradaki anahtar kelime gormek. Biz de goruyoruz. Gozunden suphe etmiyorsan, ayni seyleri gordugumuzu varsayabiliriz.

Bilgisayarlar, yazdigin kodu oldugu gibi calistiran seyler, gorundugu gibi degil. Bu yuzden, ozellikle de simdiki gibi hata ciktigi durumlarda, kodun nasil gozuktugunu degil de nasil oldugunu aktarirsan basarili bir sekilde yardim alma ihtimalin artar.

Bu yuzden ekran goruntusu paylasmak yerine dosyalarin kendilerini veya iceriklerini paylasmalisin.

Bu arada, sana yardim etmeye calisan herkesi mecbur biraktigin gibi, buradaki ekran goruntulerine bakip satir satir koda cevirmeyi denediginde, programin calistigini goreceksin.

hocam siz bilgisayarınızın kendi işletim sistemi ile uyumlu bir python sürümü indirip indirmediğinizi kontrol ederseniz güzel olur çünkü open methoduna “r” ekledikten sonra düzelmesi aşırı derecesinde saçma böyle bir durum söz konusu bile değil ya siz başka bir şey yaptınız bilmiyorsunuz ya da dediğim gibi

Hocam ilk olarak sizin cevabınızla başlıyorum yanıtlamaya. Sorun aynen dediğiniz gibi boşluklardan kaynaklıymış. Şimdi ben bu çalışmayı istihza’nın python kitabı üzerinden yapıyorum ve isim listesini de oradan copy paste etmiştim txt dosyasına. Yani metinleri seçerken şöyle seçiyormuşum:
isimler1:
image
isimler2:

Gördüğünüz üzere ilk listede Özkan son satırda yer aldığı için onun sonunda bir boşluk almıyorum, fakat alttaki listede Özkan üst satırlarda bu yüzden sonunda bir boşluk var. Program da bu yüzden iki farklı satır algılıyormuş :sweat_smile: Eğer üstteki listede üst satırlarda bir Dilek ismi yer alsaydı bu kez Dilek ismi tekrar edecekti

1 Beğeni

Şu an “r” olmadan düzgün şekilde çalıştı. Sanırım sorunun sebebi şu hocam:

Ben bu iki metin dosyasını o zaman denerken cmd’den oluşturmuştum önceki bilgileri tekrar etmek istediğim için. Yani dosya1=open(“isimler1.txt”,“w”) şeklinde iki dosya oluşturmuşum. Dosyalar “w” olarak oluşturulmuş. Bu satırları okumasını engellemiş olabilir mi? Aydınlandım şu an bu hatalarımı öğrenince.

Haklisiniz, sitede kodlarin embed olarak paylasilabildigini bilmiyorum ve daha once buraya duz yazdigimda satir basina aliyordu her satiri bu yuzden de screenshot paylasiyorum cozum olarak.

Gereksiz ugrastirdigim herkesten de özür dilerim konuyla alakali.

1 Beğeni