復制遠程共享文件夾內容到本地(python腳本實例)


本人自用腳本(python):

#-*- coding:utf-8 -*-

import sys , os , re  
  
def copyFileDir(srcFilename , desFilename):  
    status = False  
    try:  
        fileList = os.listdir(srcFilename)  
        for eachFile in fileList:  
            sourceF = os.path.join(srcFilename,eachFile)  
            targetF = os.path.join(desFilename,eachFile)  
  
            if os.path.isdir(sourceF):  
                if not os.path.exists(targetF):  
                    os.makedir(targetF)  
                status = copyFileDir(sourceF,targetF)  
            else :  
                status = copyFile(sourceF,targetF)  
    except Exception,e:  
        print (e)  
        status = False  
    finally:  
        print ('copyFileDir function is quit!')  
    return status  
  
def copyFile(srcFilename , desFilename):  
    status = False  
    copyCommand = 'copy %s %s'%(srcFilename,desFilename)  
  
    try:  
        if(os.popen(copyCommand)):  #不用op.system(copyCommand),因為這個會彈出命令行界面  
            print ('copy done!')  
            status = True  
        else :  
            print ('copy failed!')  
            status = False  
    except Exception,e:  
        print (e)  
        status = False  
    finally:  
        print ('copyFile function is quit!')  
    return status  
  
def copyFromSharePath(srcFilename,desFilename):  
    if not os.path.exists(srcFilename):  
        print ('no found '+srcFilename)  
        return False  
    if not os.path.exists(desFilename):  
        print ('no found '+desFilename)  
        os.makedirs(str(desFilename))  
        print ('create '+desFilename)  
  
    copyStatus = False  
    if os.path.isdir(srcFilename):  
        copyStatus = copyFileDir(srcFilename,desFilename)  
    else :  
        copyStatus = copyFile(srcFilename,desFilename)  
    return copyStatus  
  
  
def main(argv = sys.argv):  
    if not len(argv) == 3:  
        print ('input parameters\'s count should be 3,not %s'%(len(argv)))  
        return  
    print (u'腳本名字是:' + argv[0])  
    srcFilename = argv[1]  
    print (u'源目錄:' + argv[1])  
    desFilename = argv[2]  
    print (u'目標目錄:' + argv[2])  
  
    if os.path.isdir(srcFilename):  
        if os.path.isfile(desFilename):  
            print ('can not copy a folder to a file')  
            return  
    copyFromSharePath(srcFilename,desFilename)  
if __name__=='__main__':  
    hostIp = 'x.x.x.x'  
    sharePath = '\\xxxxx'  
    filename = 'xxx'  
  
      
    resultStr = []  
    resultStr.append([])  
    srcFilename = '\\\\' + hostIp + sharePath + '\\' + filename  
    desFilename = 'd:\\tmp\\pycopy\\ftp_download'  
      
    cmd = [  
        'd:\\tmp\\pycopy\\copyShareFile.py',  
        srcFilename,  
        desFilename  
    ]
    main(cmd) 
    print 'ok'
      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM