mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 b940e113bf
			
		
	
	
		b940e113bf
		
	
	
	
	
		
			
			(a) "except E, V" -> "except E as V" (b) V is now limited to a simple name (local variable) (c) V is now deleted at the end of the except block
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			699 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			699 B
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
| # This is about all it requires to write a wish shell in Python!
 | |
| 
 | |
| import _tkinter
 | |
| import os
 | |
| import sys
 | |
| 
 | |
| tk = _tkinter.create(os.environ['DISPLAY'], 'wish', 'Tk', 1)
 | |
| tk.call('update')
 | |
| 
 | |
| cmd = ''
 | |
| 
 | |
| while 1:
 | |
|     if cmd: prompt = ''
 | |
|     else: prompt = '% '
 | |
|     try:
 | |
|         sys.stdout.write(prompt)
 | |
|         sys.stdout.flush()
 | |
|         line = sys.stdin.readline()
 | |
|     except EOFError:
 | |
|         break
 | |
|     cmd = cmd + (line + '\n')
 | |
|     if tk.getboolean(tk.call('info', 'complete', cmd)):
 | |
|         tk.record(line)
 | |
|         try:
 | |
|             result = tk.call('eval', cmd)
 | |
|         except _tkinter.TclError as msg:
 | |
|             print 'TclError:', msg
 | |
|         else:
 | |
|             if result: print result
 | |
|         cmd = ''
 |