python移动文件:

需求如下:写一个python脚本,执行过程如unix命令一样:

模仿unix移动文件命令,从一个路径移动文件到另一个路径

1、如果不输入参数,显示帮助信息

2、如果输入 -h或者 --help也显示帮助信息

3、输入-i 或者 --ipath '文件夹路径'代表需要移动的文件夹路径

4、输入-o 或者 --opath ‘文件件路径’代表需要移动到的某个文件夹路径

# -*- coding: utf-8 -*-
import sys , getopt,shutil,os
'''

需求如下:

**模仿unix移动文件命令,从一个路径移动文件到另一个路径**

1、如果不输入参数,显示帮助信息

2、如果输入 -h或者 --help也显示帮助信息

3、输入-i 或者 --ipath '文件夹路径'代表需要移动的文件夹路径

4、输入-o 或者 --opath ‘文件件路径’代表需要移动到的某个文件夹路径

'''
def main(argv):
orginpath = ''
targetpath = ''
helpinfo = 'movefile.py -i -o '
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:])

执行如下:


如果想查看帮助文档,命令如下:


这个程序的编写,是重点练习一下:getopt.getopt()的使用方法

当然你可以参考python官网的教程讲解

**Note that:

1、注意编写程序的时候空格使用tab进行缩进,不然经常报一些莫名其妙的错误

2、我本人比较愚钝,所以对于getopt.getopt()理解了好久(2个小时的资料查询),关于如何理解,请参考这里,我自认为这个比官方教程讲的详细一点。

3、另外在查资料的时候,发现一个讲解比较详细的python教程

4、谈谈一点心得:对于编程,只看资料(看书、看视频)不进行实际操作,是一种懒惰。把所思所学通过实际功能的方式开发出来,才是王道。