bnvdarklord Δημοσ. 29 Φεβρουαρίου 2012 Δημοσ. 29 Φεβρουαρίου 2012 Ας πούμε οτι εχουμε το εξής απλό πρόγραμμα > from time import sleep def printHello(): print('hello') while(True): printHello() sleep(20) Αν προσθέσουμε όμως την βιβλιοθήκη curses ως εξής, ώστε κάθε εκτύπωση να γινεται πάνω απο την προηγούμενη: > from time import sleep import curses def printHello(): (y, x) = curses.getsyx() print('hello') curses.setsyx(y, x) curses.doupdate() curses.initscr() while(True): printHello() sleep(20) Τότε για κάποιο λόγο το 1ο μήνυμα θα τυπωθεί μετά από 20 δευτερόλεπτα και όχι αμέσως. Πέρα από αυτό, το πρόγραμμα δουλεύει σωστά. Ξέρει κανείς γιατί γινεται αυτό;
prekageo Δημοσ. 29 Φεβρουαρίου 2012 Δημοσ. 29 Φεβρουαρίου 2012 Δε μπορείς να χρησιμοποιείς την print εφόσον θέλεις curses. Δες την curses.initscr και την window.addstr.
bnvdarklord Δημοσ. 29 Φεβρουαρίου 2012 Μέλος Δημοσ. 29 Φεβρουαρίου 2012 Thanks, αλλα δεν ειναι οτι δεν δουλευει η print, απλά ειναι σαν να πηδάει την 1η επανάληψη. Περα απο αυτό ολα τα print δουλεουν οκ.
prekageo Δημοσ. 1 Μαρτίου 2012 Δημοσ. 1 Μαρτίου 2012 Δεν είναι αυτό που λες. Είναι λάθος να χρησιμοποιείς print σε ένα πρόγραμμα που χρησιμοποιεί curses. Για να καταλάβεις το λόγο πρέπει να καταλάβεις πώς λειτουργεί το curses (και οι buffers του). Δοκίμασε αυτό: >from time import sleep import curses def printHello(i): x = 0 y = 0 win.addstr(y, x, 'hello %d' % i) win.refresh() win = curses.initscr() for i in xrange(50): printHello(i) sleep(0.1) curses.endwin()
bnvdarklord Δημοσ. 1 Μαρτίου 2012 Μέλος Δημοσ. 1 Μαρτίου 2012 Κατάλαβα. Με λίγα λογια η print δεν ειναι βεβαιο οτι θα λειτουργήσει οπως πρεπει οταν εχουμε curses. Πως γινεται να μπορώ να έχω είσοδο μετα το initscr? Εχω παρατηρίσει οτι αφού συμβεί αυτό το πρόγραμμα δεν δεχετε ούτε καν Ctrl+C. Αυτο δεν με ενοχλεί τόσο στο πρόγραμμα που εχω κανει, αλλά θα θελα να ξερω τι παιζει.
prekageo Δημοσ. 2 Μαρτίου 2012 Δημοσ. 2 Μαρτίου 2012 Υπάρχει η window.getch για να διαβάζεις από το πληκτρολόγιο. Όσον αφορά το Ctrl+C πρέπει να δεις τις μεθόδους curses.raw και curses.cbreak.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα