python移动文件:html
需求以下:写一个python脚本,执行过程如unix命令同样:python
模仿unix移动文件命令,从一个路径移动文件到另外一个路径编程
一、若是不输入参数,显示帮助信息unix
二、若是输入 -h或者 --help也显示帮助信息code
三、输入-i 或者 --ipath '文件夹路径'表明须要移动的文件夹路径orm
四、输入-o 或者 --opath ‘文件件路径’表明须要移动到的某个文件夹路径视频
# -*- coding: utf-8 -*- import sys , getopt,shutil,os ''' 需求以下: **模仿unix移动文件命令,从一个路径移动文件到另外一个路径** 一、若是不输入参数,显示帮助信息 二、若是输入 -h或者 --help也显示帮助信息 三、输入-i 或者 --ipath '文件夹路径'表明须要移动的文件夹路径 四、输入-o 或者 --opath ‘文件件路径’表明须要移动到的某个文件夹路径 ''' def main(argv): orginpath = '' targetpath = '' helpinfo = 'movefile.py -i <inputfile> -o <outputfile>' fileformat ='' try: opts,args=getopt.getopt(argv,'hi:o:f:',['ipath=','opath=','format=']) except getopt.GetoptError as e : print helpinfo sys.exit(2) for opt,arg in opts: if opt == '-h': print helpinfo sys.exit() elif opt in ('-i','--ipath'): orginpath = arg elif opt in ('-o','--opath'): targetpath = arg elif opt in ('-f','--format'): fileformat =arg if orginpath != '' and targetpath != '' and fileformat != '': print '移动的源文件为:',orginpath print '移动到的目标文件为:',targetpath print '移动文件的格式为:',fileformat print '开始移动文件:' for file in os.listdir(orginpath): if file.endswith(fileformat): shutil.move(orginpath+file,targetpath) print '移动文件成功',file if __name__=="__main__": main(sys.argv[1:])
执行以下:htm
若是想查看帮助文档,命令以下:教程
这个程序的编写,是重点练习一下:getopt.getopt()的使用方法 固然你能够参考python官网的教程讲解 **Note that: 一、注意编写程序的时候空格使用tab进行缩进,否则常常报一些莫名其妙的错误图片
二、我本人比较愚钝,因此对于getopt.getopt()理解了很久(2个小时的资料查询),关于如何理解,请参考这里,我自认为这个比官方教程讲的详细一点。
三、另外在查资料的时候,发现一个讲解比较详细的python教程
四、谈谈一点心得:对于编程,只看资料(看书、看视频)不进行实际操做,是一种懒惰。把所思所学经过实际功能的方式开发出来,才是王道。 **
重要参考:
一、很是透彻的教程参考 二、python官网getopt教程 三、值得参考 四、例子参考