Ich schreibe grad an nem kleinen Batch-u.Texteditor mit dem man dateien vom Dateityp *.batxt schreiben kann.
Diese sollen dann automatisch in *.bat umgewandelt und gleich ausgeführt werden. Wenn's klappt werde ich die
BATCH-Sprache noch zusätzlich um ein paar Befehle erweitern (Kombination Python-Batch).
Im Moment hänge ich aber daran, dass ich die *.batxt-Dateien gleich mit meinem Editor zu öffnen. Ich benutze dazu
Code: Alles auswählen
import sys
irgendwas=sys.argv[1]
Code: Alles auswählen
from tkinter import *
import sys
root=Tk()
def save():
saver=text.get('1.0',END)
root2=Tk()
root2.title("Speichern...")
eingabe=Entry(root2)
eingabe.pack()
try:
eingabe.insert(END,sys.argv[1])
except IndexError:
pass
def save2():
savename=eingabe.get()+".batxt"
file2=open(savename,"w")
file2.write(saver)
file2.close()
root2.destroy()
def break1():
root2.destroy()
cmdsave2=Button(root2, text="Speichern", command=save2)
cmdsave2.pack()
cmdbreak=Button(root2, text="Abbruch",command=break1)
cmdbreak.pack()
root2.mainloop()
root.title("Text-& Batcheditor")
text=Text(root)
text.pack()
try:
file=open (sys.argv[1],"r")
r=file.read()
text.insert(END,r)
file.close()
except IndexError:
pass
cmdsave=Button(root,text="Speicheren",command=save)
cmdsave.pack()
root.mainloop()
Wenn ich aber parameter übergebe (anders geht's nicht zu testen wenn's noch keine *.exe ist) und nun unter anderem Namen abspeichern will kommt folgende Fehlermelung:
Code: Alles auswählen
Exception im Tkinter callback
Traceback (most recent call last):
File "C:\Python31\lib\tkinter\__init__.py", line 1399, in __call__
return self.func(*args)
File "C:\Users\Martin\Desktop\Text-& Batcheditor.py", line 17, in save2
file2=open(savename, "w")
IOError: [Errno 13] Permission denied: 'neuer_name.batxt'
Danke im Voraus M.B