Python IDLE 3.7.4 utf- 8 ve cp1254 Turkce karakter sorunu

Merhaba yazbel.com da donguler konusunda IDLE de dosyadan farkli isimleri cekerken turkce karakter sorunu cikiyor . utf-8 ve cp1254 ile de denememe ragmen syntax hatasi aliyorum. Turkce karakterleri gostermenin baska bir yolu varmidir. Tesekkurler.
Screenshot_4

d1 = open("isimler1.txt, encoding="cp1254")
d1_satirlar = d1.readlines()

d2 = open("isimler2.txt, encoding="cp1254")
d2_satirlar = d2.readlines()
for i in d2_satirlar:
    if not i in d1_satirlar:
        print(i)
d1.close()
d2.close()
1 Beğeni

merhaba,

kodlarınız da ilk bakışta görünmeyen bazı sıkıntılardan dolayı bu şekilde hata alıyorsunuz.

yanlış kod;

d1 = open("isimler1.txt, encoding="cp1254")
d1_satirlar = d1.readlines()

d2 = open("isimler2.txt, encoding="cp1254")
d2_satirlar = d2.readlines()
for i in d2_satirlar:
    if not i in d1_satirlar:
        print(i)
d1.close()
d2.close()

doğru kod;

d1 = open("isimler1.txt", encoding="cp1254")
d1_satirlar = d1.readlines()

d2 = open("isimler2.txt", encoding="cp1254")
d2_satirlar = d2.readlines()
for i in d2_satirlar:
    if not i in d1_satirlar:
        print(i)
d1.close()
d2.close()

peki ne değişti? Çok ufak 2 değişiklilik oldu. dosyayı açarken isimler1.txt yi tırnak içerisine almanız gerekiyor. Kod yazarken tırnak işaretini koymayı unutmuşsuunz sanırım.

d1 = open("isimler1.txt, encoding="cp1254") >> gördüğünüz gibi tırnak işareti eksik. bu yüzden geçersiz görüyor.

d1 = open("isimler1.txt", encoding="cp1254") >> gördüğünüz gibi tırnak işaretleri eksik değil. bu yüzden geçerli görüyor.

1 Beğeni

Sn.tevhidulvahset Oncelikle vakit ayirip cevap verdiginiz icin tesekkur eder iyi bayramlar dilerim. utf-8 ve cp1254 kodlari ciktida Turkce karakterler cikmayinca eklenen yerlerdi eklerken dikkatsizlik etmisim. ( Sanirim gozlugu degistirme vakti gelmis) Aslinda buraya ekledigimde de dikkat etseymisim zaten renklendirmeden anlasiliyor IDLE`i Yazbel.com daki makalelerde gecen kodlari yazmak icin kullanmaya dun basladim. Normalde Pycharm kullaniyorum ve orda kod yanlisliklari hemen kendini belli ediyor ama burda kodu IDLE den siteye yukledigimde ancak renkli gorebildim. Tamamen dikkatsizlikten kaynakli. Kusuruma bakmayin en azindan siteye yukledigim esnada kodu duzeltebilirdim. Tekrar tesekkurler. Bu arada utf-8 ile sorun cozuldu cp1254 ile cozum olmadi.

pycharm gibi programlar python programlama da iyi oluyor fakat öğrenirken değil. ben çok daralmadıkça pycharm’a geçmiyorum. IDLe candır gerisi heyecandır.

1 Beğeni

rica ederim. türkçe karakter == utf-8

Aslinda tam tersi, Turkce olan cp1254. UTF-8 unicode.

2 Beğeni