Python实践:分类归档--按关键字移动文件到子文件夹
[color="#008080"]# pickOutByKey.py
[color="#008080"]# encoding:gb2312
[color="#008080"]# 在电骡下载目录程序分类中,以sortAndMoveArchive.py产生的结果为基础
[color="#008080"]# 按照关键字分类并移出:
[color="#008080"]# 包含python则不动
[color="#008080"]# 包含perl移动到Perl目录
[color="#008080"]# 其他移动到Other目录
[color="#0000ff"]import [color="#800000"]os
[color="#000000"]sFrom[color="#00c600"]=[color="#ff00ff"]'E:\eMule\Incoming\程序_'
[color="#000000"]sTgt[color="#00c600"]=[color="#ff00ff"]'Perl'
[color="#000000"]sOther[color="#00c600"]=[color="#ff00ff"]'other'
[color="#800000"]os[color="#00c600"].[color="#808000"]chdir[color="#000000"](sFrom) [color="#008080"]# 定位工作目录
[color="#0000ff"]def [color="#000000"]quotePath(sPath):
[color="#0000ff"]return [color="#ff00ff"]'"'[color="#00c600"]+[color="#000000"]sPath[color="#00c600"]+[color="#ff00ff"]'"'
[color="#0000ff"]def [color="#000000"]execute(sCmd): [color="#008080"]# 执行一个Shell命令
[color="#0000ff"]print [color="#000000"]sCmd
[color="#0000ff"]if [color="#800000"]os[color="#00c600"].[color="#808000"]system[color="#000000"](sCmd)[color="#00c600"]==[color="#000000"]0:
[color="#0000ff"]print [color="#ff00ff"]"successfully!"
[color="#0000ff"]else[color="#000000"]:
[color="#0000ff"]print [color="#ff00ff"]"fail~"
[color="#0000ff"]for [color="#000000"]d [color="#0000ff"]in [color="#800000"]os[color="#00c600"].[color="#808000"]listdir[color="#000000"](sFrom):
[color="#0000ff"]if [color="#800000"]os[color="#00c600"].[color="#000000"]path[color="#00c600"].[color="#808000"]isdir[color="#000000"](d) [color="#0000ff"]and [color="#000000"]d[color="#00c600"].[color="#800000"]find[color="#000000"]([color="#ff00ff"]'archive_'[color="#000000"])![color="#00c600"]=-[color="#000000"]1: [color="#008080"]# 在归档目录
[color="#0000ff"]for [color="#808000"]f [color="#0000ff"]in [color="#800000"]os[color="#00c600"].[color="#808000"]listdir[color="#000000"](sFrom[color="#00c600"]+[color="#800000"]os[color="#00c600"].[color="#000000"]sep[color="#00c600"]+[color="#000000"]d):
[color="#000000"]lf[color="#00c600"]=[color="#808000"]f[color="#00c600"].[color="#808000"]lower[color="#000000"]()
[color="#0000ff"]if [color="#000000"]lf[color="#00c600"].[color="#800000"]find[color="#000000"]([color="#ff00ff"]'python'[color="#000000"])[color="#00c600"]==-[color="#000000"]1 : [color="#008080"]# 不包含python
[color="#0000ff"]if [color="#000000"]lf[color="#00c600"].[color="#800000"]find[color="#000000"]([color="#ff00ff"]'perl'[color="#000000"])![color="#00c600"]=-[color="#000000"]1: [color="#008080"]# 包含perl移到perl
[color="#000000"]sCmd[color="#00c600"]=[color="#ff00ff"]' '[color="#00c600"].[color="#808000"]join[color="#000000"]([[color="#ff00ff"]'move'[color="#000000"],quotePath(d[color="#00c600"]+[color="#800000"]os[color="#00c600"].[color="#000000"]sep[color="#00c600"]+[color="#808000"]f[color="#000000"]),quotePath(sTgt)])
[color="#000000"]execute(sCmd)
[color="#0000ff"]else [color="#000000"]: [color="#008080"]# 其他移到other
[color="#0000ff"]if not [color="#800000"]os[color="#00c600"].[color="#000000"]path[color="#00c600"].[color="#808000"]exists[color="#000000"](sOther):
[color="#800000"]os[color="#00c600"].[color="#808000"]mkdir[color="#000000"](sOther)
[color="#000000"]sCmd[color="#00c600"]=[color="#ff00ff"]' '[color="#00c600"].[color="#808000"]join[color="#000000"]([[color="#ff00ff"]'move'[color="#000000"],quotePath(d[color="#00c600"]+[color="#800000"]os[color="#00c600"].[color="#000000"]sep[color="#00c600"]+[color="#808000"]f[color="#000000"]),quotePath(sOther)])
[color="#000000"]execute(sCmd)