Merhabalar,
Python Türkçe Yama isimli bir projem var ve bilmediğim bir sorun ortaya çıktı.Entry benden dosya ismi alacak,ve program <dosya_ismi>.py olarak kaydedecek nasıl yaparım?
Merhabalar,
Python Türkçe Yama isimli bir projem var ve bilmediğim bir sorun ortaya çıktı.Entry benden dosya ismi alacak,ve program <dosya_ismi>.py olarak kaydedecek nasıl yaparım?
Merhaba.
entry nesnesinin get
metodu ile içerisinde yazılı bulunan metne erişebilirsiniz. Bir örnek için buraya bakabilirsiniz:
open
fonksiyonunu inceleyebilirsiniz.
open fonksiyonu ile kullandığımda maalesef Shell ekranında str olamayacağını söylüyor
Anlayamadım, kodunuzu ve aldığınız hatayı yazabilir misiniz?
#Gencay BİLİR
#Ankara,Türkiye
#Modüller
from tkinter import *
import os
#Fonksiyonlar
def Kapat():
exit()
def Çalıştır():
pass
def Durdur():
pass
def Modül_Ekle():
pass
def Ayarlar():
Ayarlar_Ekranı = Toplevel()
Ayarlar_Ekranı.title("Ayarlar")
Ayarlar_Ekranı.geometry("400x250+400+100")
Butonları_Özelleştir_Tuşu = Button(Ayarlar_Ekranı,text = "Tuşları Özelleştir",bg="white", command = Butonları_Özelleştir)
Butonları_Özelleştir_Tuşu.place(x = 20, y = 10)
def Proje_Aç():
pass
def Proje_Oluşturma():
Dosya_Oluşturma_Ekranı = Toplevel()
Dosya_Oluşturma_Ekranı.title("Dosya Kaydetme")
Dosya_Oluşturma_Ekranı.geometry("350x75+500+150")
Dosya_İsmi_İste = Label(Dosya_Oluşturma_Ekranı, text = "Dosya İsmi: ")
Dosya_İsmi_İste.pack()
Dosya_İsmi_Al = Entry(Dosya_Oluşturma_Ekranı)
Dosya_İsmi_Al.pack()
Onay_Butonu = Button(Dosya_Oluşturma_Ekranı,bg="white", text = "Tamam")
Onay_Butonu.pack()
os.chdir('C:/Users/ONAY/Desktop/Python Türkçe Yama/Test Sürümü/Projeler')
def Çalıştır_Tuşu_Özelleştir():
Çalıştır_Tuşu_Özelleştir_Ekranı = Toplevel()
Çalıştır_Tuşu_Özelleştir_Ekranı.title("Çalıştır Tuşu Özelleştirme")
Çalıştır_Tuşu_Özelleştir_Ekranı.geometry("150x100+100+100")
def Modül_Ekle_Tuşu_Özelleştir():
pass
def Ayarlar_Tuşu_Özelleştir():
pass
def Proje_Açma_Tuşu_Özelleştir():
pass
def Proje_Kaydetme_Tuşu_Özelleştir():
pass
def Butonları_Özelleştir():
Tuş_Özelleştirme_Ekranı = Toplevel()
Tuş_Özelleştirme_Ekranı.title("Tuşları Özelleştir")
Tuş_Özelleştirme_Ekranı.geometry("300x200+500+100")
Çalıştır_Tuşu_Özelleştir_Tuşu = Button(Tuş_Özelleştirme_Ekranı,text = "Çalıştır Tuşu'nu Özelleştir",bg="white", command = Çalıştır_Tuşu_Özelleştir)
Çalıştır_Tuşu_Özelleştir_Tuşu.place(x = 20, y = 10)
Modül_Ekle_Tuşu_Özelleştir_Tuşu = Button(Tuş_Özelleştirme_Ekranı,text = "Modül Ekle Tuşu'nu Özelleştir",bg="white", command = Modül_Ekle_Tuşu_Özelleştir)
Modül_Ekle_Tuşu_Özelleştir_Tuşu.place(x = 20, y = 40)
Ayarlar_Tuşu_Özelleştir_Tuşu = Button(Tuş_Özelleştirme_Ekranı,text = "Ayarlar Tuşu'nu Özelleştir",bg="white", command = Ayarlar_Tuşu_Özelleştir)
Ayarlar_Tuşu_Özelleştir_Tuşu.place(x = 20, y = 70)
Proje_Aç_Tuşu_Özelleştir_Tuşu = Button(Tuş_Özelleştirme_Ekranı,text = "Proje Açma Tuşu'nu Özelleştir",bg="white", command = Proje_Açma_Tuşu_Özelleştir)
Proje_Aç_Tuşu_Özelleştir_Tuşu.place(x = 20, y = 100)
Proje_Kaydetme_Tuşu_Özelleştir_Tuşu = Button(Tuş_Özelleştirme_Ekranı,text = "Proje Kaydetme Tuşu'nu Özelleştir",bg="white", command = Proje_Kaydetme_Tuşu_Özelleştir)
Proje_Kaydetme_Tuşu_Özelleştir_Tuşu.place(x = 20, y = 130)
#Ekran
Ekran = Tk()
Ekran.attributes('-fullscreen', True)
#Kod Yazma Bölümü
Kod_Yazma_Bölümü = Text()
Kod_Yazma_Bölümü.place(x = 50, y = 35, height = 700, width = 800)
#Çok Yönlü Ekran
Çok_Yönlü_Ekran = Text()
Çok_Yönlü_Ekran.place(x = 900, y = 20, height = 730, width = 400)
#Tuşlar
Kapatma_Tuşu = Button(text = "Kapat",bg = "red",command = Kapat)
Kapatma_Tuşu.place(x = 1310, y = 5)
Çalıştır_Tuşu = Button (text = ">",bg="white",activebackground = "light green",command = Çalıştır)
Çalıştır_Tuşu.pack()
Çalıştır_Tuşu.place(x = 50, y = 5, width = 90)
Durdur_Tuşu = Button (text = "||",bg="white",activebackground = "red",command = Durdur)
Durdur_Tuşu.pack()
Durdur_Tuşu.place(x = 150, y = 5, width = 90)
Modül_Tuşu = Button(text = "Modül Ekle",bg="white", command = Modül_Ekle)
Modül_Tuşu.pack()
Modül_Tuşu.place(x = 250, y = 5, width = 90)
Ayarlar_Tuşu = Button(text = "Ayarlar",bg="white", command = Ayarlar)
Ayarlar_Tuşu.pack()
Ayarlar_Tuşu.place(x = 350, y = 5, width = 90)
Proje_Aç_Tuşu = Button(text = "Proje Aç",bg="white", command = Proje_Aç)
Proje_Aç_Tuşu.pack()
Proje_Aç_Tuşu.place(x = 655, y = 5, width = 90)
Kaydet_Tuşu = Button(text = "Projemi Kaydet",bg="white", command = Proje_Oluşturma)
Kaydet_Tuşu.pack()
Kaydet_Tuşu.place(x = 760, y = 5, width = 90)
#Süreklilik
Ekran.mainloop()
Ben burada projeyi kaydet tuşu ile Entry’ye yazılacak ismi alıp <dosya_ismi>.py yapmak istiyorum.Proje kaydet tuşuna bakabilirseniz sevinirim
Bu işinizi görüyor mu acaba:
def Projeyi_Kaydet():
dosya_ismi = Dosya_İsmi_Al.get()
print(dosya_ismi)
with open(dosya_ismi + ".py", "w"):
pass
def Proje_Oluşturma():
global Dosya_İsmi_Al
Dosya_Oluşturma_Ekranı = Toplevel()
Dosya_Oluşturma_Ekranı.title("Dosya Kaydetme")
Dosya_Oluşturma_Ekranı.geometry("350x75+500+150")
Dosya_İsmi_İste = Label(Dosya_Oluşturma_Ekranı, text = "Dosya İsmi: ")
Dosya_İsmi_İste.pack()
Dosya_İsmi_Al = Entry(Dosya_Oluşturma_Ekranı)
Dosya_İsmi_Al.pack()
Onay_Butonu = Button(Dosya_Oluşturma_Ekranı,bg="white", text = "Tamam", command = Projeyi_Kaydet)
Onay_Butonu.pack()
Lütfen değişken ve fonksiyonlarınızın isimlerini de küçük harfler ile yazın, kodu bu hali okumak çok zor.
12 yaşımda olduğum için haftaya cumartesi almam gerekecek.Yazdığınız kod çalışacaktır yüksek ihtimalle.Proje oluşturmada “global” ne işe yarıyor acaba?
Maalesef ben büyük harflerle yazıyorum.Herkesin yazımı farklı…
Fonksiyonlarin disinda, modul scope’unda tanimlanan (“global”) degiskenin fonksiyon icinden yazilabilir olmasini sagliyor.
a = 3
def foo():
a = 4
def bar():
global a
a = 5
print(a) # 3
foo()
print(a) # 3
bar()
print(a) # 5
Malesef ben de buyuk harflerle yazilan kodlari okumayi reddediyorum.
Insanlarin ne kadar sikintili ve kaprisli varliklar oldugunu ne kadar erken ogrenirseniz o kadar iyi
(@EkremDincel’in emin ellerinde olmasaniz yardim ederdim, o kadar da degil :). Ama buyuk harfle baslayan degiskenli koda kufretme haklimi sakli tutuyorum.)