+ -
当前位置:首页 → 问答吧 → python类的问题

python类的问题

时间:2011-06-22

来源:互联网

[code=#coding]=gbk
import os,sys
import hashlib


def sha1():
    files=raw_input("Drag the file into here:")
    f=open('sha1.txt','w')
    if os.path.isfile(files):
        f1=open(files,'rb')
        sha1obj=hashlib.sha1()
        sha1obj.update(f1.read())
        hashs=sha1obj.hexdigest()
        print hashs
        f.write(hashs+'\n')
        f.close()
    else:
        for x,y,z in os.walk(files):
            for a in z:
                h=os.path.join(x,a)
                f1=open(h,'rb')
                sha1obj=hashlib.sha1()
                sha1obj.update(f1.read())
                hashs=sha1obj.hexdigest()
                print hashs
                f.write(hashs+'\n')
        f.close()
def md5():
    files=raw_input("Drag the file into here:")
    f=open('md5.txt','w')
    if os.path.isfile(files):
        f1=open(files,'rb')
        md5obj=hashlib.md5()
        md5obj.update(f1.read())
        md5s=md5obj.hexdigest()
        print md5s
        f.write(md5s+'\n')
        f.close()
    else:
        for x,y,z in os.walk(files):
            for a in z:
                h=os.path.join(x,a)
                f1=open(h,'rb')
                md5obj=hashlib.md5()
                md5obj.update(f1.read())
                md5s=md5obj.hexdigest()
                print md5s
                f.write(md5s+'\n')
        f.close()

def main():
    r=raw_input("please input 'sha1' or 'md5':")
    if r=='sha1':
        sha1()
    elif r=='md5':
        md5()
    else:
        print "error"
       
if __name__=='__main__':
    main()
[/code]
这是个求md5值和sha1值的程序,怎么放在类中写啊?(我是想把这段代码用类的方式写出来,但本人对类和对象一直很模糊,所以希望有人能帮我转换成有含类的代码)

作者: xuzhijian17   发布时间: 2011-06-22

一个函数写成类干啥?典型的OO滥用。
不知道怎么OO,看些别人的OO代码,比如python标准库里的。

作者: iambic   发布时间: 2011-06-22

我就是想学怎么用类写啊?方便我学习啊。

作者: xuzhijian17   发布时间: 2011-06-22