mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			948 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			948 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# Tests StringIO and cStringIO
 | 
						|
 | 
						|
def do_test(module):
 | 
						|
    s = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+'\n')*5
 | 
						|
    f = module.StringIO(s)
 | 
						|
    print f.read(10)
 | 
						|
    print f.readline()
 | 
						|
    print len(f.readlines(60))
 | 
						|
 | 
						|
    f = module.StringIO()
 | 
						|
    f.write('abcdef')
 | 
						|
    f.seek(3)
 | 
						|
    f.write('uvwxyz')
 | 
						|
    f.write('!')
 | 
						|
    print `f.getvalue()`
 | 
						|
    f.close()
 | 
						|
 | 
						|
    f = module.StringIO()
 | 
						|
    f.writelines(["a", "b", "c"])
 | 
						|
    f.seek(0)
 | 
						|
    print `f.getvalue()`
 | 
						|
    f.close()
 | 
						|
 | 
						|
    f = module.StringIO()
 | 
						|
    f.write(s)
 | 
						|
    f.seek(10)
 | 
						|
    f.truncate()
 | 
						|
    print `f.getvalue()`
 | 
						|
    f.seek(0)
 | 
						|
    f.truncate(5)
 | 
						|
    print `f.getvalue()`
 | 
						|
    f.close()
 | 
						|
    try:
 | 
						|
        f.write("frobnitz")
 | 
						|
    except ValueError, e:
 | 
						|
        print "Caught expected ValueError writing to closed StringIO:"
 | 
						|
        print e
 | 
						|
    else:
 | 
						|
        print "Failed to catch ValueError writing to closed StringIO."
 | 
						|
 | 
						|
import StringIO, cStringIO
 | 
						|
do_test(StringIO)
 | 
						|
do_test(cStringIO)
 |