[IronPython]第二个测试ipy

这个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()





你可能感兴趣的:([IronPython]第二个测试ipy)