[IronPython]2番目のテストipy

1894 ワード

このptvsは思ったよりよくなくて使えません.Netのformsツールボックスは、ptvsの下でwinformを手書きするのが苦痛です.
ソースも中国語を保存できません.
また、「clr.AddReference'は、どのようなAddReferenceができるのか分からないが、importができるのは必ずしもAddReferenceが必要ではない.
これは中国語のファイルを読むテストです.
def t1():
    '''
    
    '''
    import clr

    refs = ['System','System.Text','System.IO']
    for i in refs:
        try:
            clr.AddReference(i)
        except Exception :
            pass
    from System import Console
    from System.IO import StreamReader
    from System.Text import Encoding
    import os

    try:
        fpath = 'f:/2013/1.txt'
        strreader = StreamReader(fpath,Encoding.GetEncoding("GB2312"))
        while True:
            Console.WriteLine(strreader.ReadLine())
        strreader.Close()        
    except Exception as e:
        print e    
    os.system('pause')

def t4():
    import sys
    sys.path.append("D:/tools/Python2/libs/python27.lib")

def t5():
    import clr

    refs = ['System','System.Text','System.IO']
    for i in refs:
        try:
            clr.AddReference(i)
        except Exception :
            pass    
    from System import String
    from System import Char
    from System import Console
    from System import Array
    from System.IO import StreamReader
    from System.Text import Encoding
    import os

    fpath = 'f:/2013/1.txt'
    strreader = StreamReader(fpath,Encoding.GetEncoding("GB2312"))
    buff_size = 64
    buff = Array.CreateInstance(Char,64)
    while True:
        rl = strreader.Read(buff,0,buff_size)        
        Console.Write(buff,0,rl) 
        if 0==rl or rl<buff_size: break
    strreader.Close()
    os.system('pause')
        
if __name__=="__main__":
    t5()
    #t4()
    #t3()
    #t2()
    #t1()