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
里边功能的代码。
参考: