Herkese merhaba. Python’da Print fonksiyonunu öğreniyorum, şuan flush’tayım.
f = open(“dosya.txt”, “w”) yapıyorum ama permission denied diyor ve olmuyor.
Düzeltmek için ne yapabilirim?
Klasör özelliğinden de ola bilir, farklı klasörde oluşturmayı dene. Olmazsa kodunu bizimle paylaş.
İnternetten çözümlere baktım ve python ide’yi yönetici olarak adadım. Bu sefer hata vermedi ama dosyanın içinde baktım ve yazmak istediğim dizin görünmüyor. Dizini nereye saklıyor diye baktığımda da böyle diyor:
import os
os.getcwd
< built-in function getcwd >
başından beri yapmak istediğim olay da şuydu:
dosya = open(“deneme.txt”, “w”)
print(“Ben Python, Monty Python!”, file=dosya)
dosya.close()
Sorunun print fonksiyonu ve flush parametresiyle ilgisi yok, bu bir yetkilendirme hatasi.
Bir fonksiyonu (veya metodu) cagirmak icin ucuna parantezlerini de koymalisin:
os.getcwd()
doğru diyorsunuz () koymayı unutmuşum şimdi ‘C:\Windows\system32’ diyor.
Peki yetkilendirme hatası nedir? Onu nasıl çözebilirim acaba? Sabahtan beri kafayı yedim cidden
Scripti yonetici olarak calistirirsan sorun cozulebilir veya dosyayi r"my/path/to/file.txt"
seklinde tam yolunu vererek tanimlanrsan da cozulebilir.
os.getcwd, python dosyasının hangi dizinde çalıştırıldığını belirtir (hangi dizinde olduğunu değil) ki system32 windowsun yalnızca yönetici tarafından değişiklik yapılabilen klasörüdür. Sorunu çözmek için Pythonı yönetici olarak çalıştırabilir ya da farklı bir dizinde Pythonı çalıştırmayı deneyebilirsiniz.