2020最新版【Go语言中文网】资深Go开发工程师

mb606f2586973a4 · · 723 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

download:2020最新版【Go语言中文网】资深Go开发工程师

Go作为专门为并发和大数据设计的语言,在编程界占据越来越重要的地位!不论是c/c++,php,java,重构首选语言就是Go~本次课程特邀谷歌资深工程师,将Go语言使用经验总结归纳,从Go语言基本语法到函数式编程、并发编程,最后构建分布式爬虫系统,步步深入,带你快速掌握Go语言!
适合人群及技术储备要求
如果你已经掌握了一门编程语言,想转型Go语言工程师,
或者是对Go的基础语法有简单的认识,想更深层次的了解Go语言
那么本门课程非常适合你
技术储备要求:
至少掌握一门编程语言
具有一定项目基础和工作经验者学习效果更佳
#coding=UTF-8

XingHe Studio File to MD5 and SHA1

銀河創作室(XingHeStudio.com)

Create by Stream.Wang 2012-04-10

Modify by Stream.Wang 2012-04-10

def fil_changefileext(filename,extname=''):

FIL ChangeFileExt 改動文件擴展名

# filename    輸入的文件途径名
# extname=''  要更改分擴展名,如 .txt
import os
try:
    if extname[0]<>'.':
        extname='.'+extname
except:
    extname=''
if os.path.splitext(filename)[1]=='':
    uouttxt=filename+'.'+extname
elif os.path.splitext(filename)[1]=='.':
    uouttxt=filename+extname   
else:
    uouttxt=filename[:0-len(os.path.splitext(filename)[1])]+extname
return uouttxt

def fil_str2file(fstr,filename):

FIL STR2File 把字符串保管到文件

try:
    outfile=open(filename,'w')
    outfile.writelines(fstr)
    outfile.close()
    return True   
except:
    return False

#係統主程序開端
#-------------------------------------------------------
if name == 'main':
import os,sys,math

if len(sys.argv)==1:sys.argv.append(r'c:\FreeNAS-8.0.4-RELEASE-x64.iso')

if len(sys.argv)>1:
    filepathname=sys.argv[1]
    if os.path.isfile(filepathname) :
        fmaxs = os.path.getsize(filepathname)+0.00
        fpos = 0.00
        ppos=0 
        pmax=50
        pjy=0         
        fmd5=fil_changefileext(filepathname,'.md5')
        fsha1=fil_changefileext(filepathname,'.sha')
        ffm=os.path.basename(filepathname)           
        #開端處置
        print 'Program Runing "'+filepathname+'" ...'
        import hashlib
        try:
            umd5str = hashlib.md5()
            usha1str = hashlib.sha1()
            xfilepathname=unicode(filepathname,'utf8')
            #需求運用二進製格式讀取文件内容
            ufile = file(xfilepathname,'rb')
            while True:
                datas = ufile.read(1024*512)
                if not datas: break
                umd5str.update( datas )
                usha1str.update( datas )
                fpos=fpos+1024*512
                ppos=int(math.floor(fpos / fmaxs * 50))
                pposbfh=int(math.floor(fpos / fmaxs * 100))
                #打印進度條
                if pjy<>ppos: print '['+'*'*ppos +'='*(pmax-ppos)+'] '+str(pposbfh) +'%'
                #打印進度問題未處理,不晓得print函數怎樣退回到行首掩蓋輸出,不換行我倒是晓得,加個“,” 
                pjy=ppos
            uoutstrmd5=str(umd5str.hexdigest())
            uoutstrsha1=str(usha1str.hexdigest())
            ufile.close()
            print ''
            fil_str2file(uoutstrmd5+' *'+ffm+'\n',fmd5)
            fil_str2file(uoutstrsha1+' *'+ffm+'\n',fsha1)
            print 'Task is completed !' + r' [ XingHe Studio File to MD5 and SHA1 ]'               
        except:       
            print 'Error !' + r' [ XingHe Studio File to MD5 and SHA1 ]'
    else:
        print 'File "'+filepathname+'" not exist!'+ r' [ XingHe Studio File to MD5 and SHA1 ]'
else:
    print  r' [ XingHe Studio File to MD5 and SHA1 ]'

有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mb606f2586973a4

查看原文:2020最新版【Go语言中文网】资深Go开发工程师

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

723 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传