复制远程共享文件夹内容到本地(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'
如果你是蜗牛,那你就不必害怕自己前进的缓慢,相信你自己,因为你的脚步永远不会落空,只要你一步步的向上爬,金字塔也必定被你踩在脚下。