python文件夹操作2--指定文件移动到指定目录

1、引言

有一堆数据,既含有_te 的,也不含有_te的,如下:

faultdata\d17.dat
faultdata\d17_te.dat
faultdata\d18.dat
faultdata\d18_te.dat
faultdata\d19.dat
faultdata\d19_te.dat
faultdata\d20.dat
faultdata\d20_te.dat
faultdata\d21.dat
faultdata\d21_te.dat

目标:把_te的文件全移动到一个文件夹中,从而实现分类的效果。

2、实现

通过指定字符te来查找到指定的文件,然后把指定的文件移动到指定的文件夹。

使用到os,shutil模块。

import os, os.path,shutil
import sys

newpath=r'G:\faultdata\testdata'
def search(path, str):
    for x in os.listdir(path):
        fp = os.path.join(path, x)

        if str in fp:
            #print(fp)

            newfp=os.path.join(newpath,os.path.basename(fp))#产生新目录要移动的文件路径
            shutil.move(fp,newfp)#移动文件
        # elif os.path.isdir(fp):
            # search(fp, str)

if len(sys.argv) == 1:
   print('useage: search str')
elif len(sys.argv) == 2:
   str = sys.argv[1]
   search(path1, str)
else:
   print('too many parameters')

运行G:\chengxu>python pythonFilesMove.py _te
查找到含te的文件

faultdata\d00_te.dat
faultdata\d01_te.dat
faultdata\d02_te.dat
faultdata\d03_te.dat
faultdata\d04_te.dat
faultdata\d05_te.dat
faultdata\d06_te.dat
faultdata\d07_te.dat
faultdata\d08_te.dat
faultdata\d09_te.dat
faultdata\d10_te.dat
faultdata\d11_te.dat
faultdata\d12_te.dat
faultdata\d13_te.dat
faultdata\d14_te.dat
faultdata\d15_te.dat
faultdata\d16_te.dat
faultdata\d17_te.dat
faultdata\d18_te.dat
faultdata\d19_te.dat
faultdata\d20_te.dat
faultdata\d21_te.dat

并且移动到newpath的目录下。

不得不说,文件夹、文件操作内容挺多的,python作为一门工具,对这些操作犹如利剑。
希望,自己有时间能够用python来写出能实现everything里边功能的代码。


参考:

  1. 复制或者移动文件和目录
  2. 用Python高效地移动文件
  3. python循环查找包含指定字符串的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值