Seite 1 von 1

Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 00:10
von LinuxDonald
Ich habe ein problem mit sort das nicht so wirklich will.

Code: Alles auswählen

import sys, tkinter
from tkinter import filedialog

# ToDo:
# def sortieren(): anpassen.


def newfile(fr):
	pass

def openfile(fr):
	fileopen = filedialog.askopenfilename()
	d = open(fileopen)
	z = d.readline()
	while z:
		fr.insert("end", z)
		z = d.readline()
	d.close()

def savefile(fr,d):
	filesave = filedialog.asksaveasfilename()
	d = open(filesave,"w")
	z = d.write(fr.get(1.0, "end"))
	d.close()

def ende():
	sys.exit()

def sortieren(fr):
	d = fr.get(1.0, "end")
	print(d)
	d.sort()
	print(d)
das kommt als fehlermeldung:

Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib64/python3.1/tkinter/__init__.py", line 1399, in __call__
return self.func(*args)
File "./asw-sort-gui.py", line 38, in <lambda>
mEdit.add_command(label="Sortieren", command=lambda: functions.sortieren(fr))
File "/home/LinuxDonald/asw-sort/functions.py", line 32, in sortieren
d.sort()
AttributeError: 'str' object has no attribute 'sort'

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 01:04
von BlackJack
@LinuxDonald: Die Ausnahme sagt doch eigentlich alles notwendige: `d` ist eine Zeichenkette und Zeichenketten haben nunmal keine `sort()`-Methode.

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 09:56
von LinuxDonald
Wie kann ich es dann sortieren lassen? Kannst du mir da helfen bitte?

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 10:05
von BlackJack
Was möchtest Du denn sortieren? Die Zeilen? Dann musst Du die Zeichenkette in Zeilen aufteilen. Dafür haben Zeichenketten Methoden.

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 10:11
von LinuxDonald
Kennst du dafür vielleicht einen Deutsche Tutorial?

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 10:27
von pillmuncher
Was willst du sortieren:
- Buchstaben
- Worte
- Zeilen
- ???

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 10:56
von gkuhl
LinuxDonald hat geschrieben:Kennst du dafür vielleicht einen Deutsche Tutorial?
http://tutorial.pocoo.org/

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 14:39
von LinuxDonald
@pillmuncher Nach Zeilen

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 15:41
von numerix
Zeig demnächst lauffähigen Code - das vereinfacht die Sache. Ich rate mal, dass fr ein Text-Widget sein soll. Das folgende Snippet hilft dir auf die Sprünge:

Code: Alles auswählen

import tkinter as tk

def sort_it():
    content = "\n".join(sorted(text.get("1.0","end").splitlines()))
    text.delete("1.0","end")
    text.insert("end",content)

root = tk.Tk()
text = tk.Text(root)
text.pack()
tk.Button(root,text="Sortieren",command=sort_it).pack()
root.mainloop()

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 16:06
von LinuxDonald

Re: Sort will nicht so wie ich will

Verfasst: Montag 14. Juni 2010, 21:54
von LinuxDonald
@numerix vielen Dank für das Beispiel. Funktioniert :)

Und auch Danke allen anderen für ihre Hilfe :)