项目介绍:
对给定的1469900个xml的刑事案件文件进行删选,找出其中道路交通类型的刑事案件。例如根据文件内容<QSZAY nameCN="起诉主案由" value="交通肇事罪">找到指定文件,删除其余文件。因为文件数量过于庞大,文件夹有53G,用python脚本筛选。
一、拆分文件夹
由于文件太多,打开文件夹时文件加载太慢,需要二十分钟,.py文件运行时无法读取xml文件。只能把这53G的文件夹拆分成2G的多个文件夹,手动拆分也不现实,用shell脚本来实现。
1、在文件夹里创建shell脚本 :
$vim make_dir.sh
然后写入:
for ((i=1;i<26;i++));
do
`mkdir t$i`
done
保存退出,修改脚本权限:
$chmod 777 make_dir.sh
然后运行脚本,创建25个文件夹:
$./make_dir.sh
2、继续创建脚本:
$vim mvfile.sh
然后写入:
for((i=0;i<1469900;i++));
do
((dir=i/58795+1))
dir=t$dir
`mv $i.xml $dir`
done
保存退出,修改权限:
$chmod 777 mvfile.sh
运行脚本,实现把这一百多万文件分别转移到这25个文件夹里,这个过程运行了四十多分钟。
$./mvfile.sh
python代码如下: