1.通过索引excel表将文件进行文件夹分类的脚本,此脚本由于将ip和id对应并生成对应id的文件夹将文件进行分类,也可以任意规定表格内容,通过vul_sc_ip.txt和xlsx文件进行索引。

# -*- coding:utf8 -*-
import sys
import os
import pandas as pd
import shutil
import stat def find(path,ip):
# open the excel file
df = pd.read_excel(path)
if ip in df["ip1"].values:
s1 = df[df["ip1"]==ip]["man"].values.tolist()[0]
return {s1:ip}
else:
return 0
def mkdir(path,filename,desname):
path = path.strip()
path = path.rstrip("\\")
path_e = str(path) + '\\' + filename.decode('utf-8') + '_' + desname
isExists = os.path.exists(path_e)
if not isExists:
os.makedirs(path_e)
print (path_e + ' 创建成功'.decode('utf-8'))
return path_e
else:
print (path_e + ' 目录已存在'.decode('utf-8'))
return path_e def save(rootdir,newpath,ip):
list = os.listdir(rootdir)
ip_name = ip+'.html'
all_path_name = []
for i in range(0, len(list)):
path = os.path.join(rootdir, list[i])
all_path_name.append(os.path.basename(path))
s_media = os.path.join(rootdir,'media')
d_media = os.path.join(newpath,'media')
isExists_media = os.path.exists(d_media)
if not isExists_media:
shutil.copytree(s_media,d_media)
else:
print (d_media + ' 目录已存在'.decode('utf-8'))
if ip_name in all_path_name:
dst_path = os.path.join(rootdir,ip_name)
newfp = os.path.join(newpath,ip_name)
isExists_newfp = os.path.exists(newfp)
if not isExists_newfp:
shutil.copy(dst_path, newfp)
print ("copy %s -> %s"%(dst_path,newfp))
else:
print (newfp + ' 文件已存在'.decode('utf-8'))
else:
return 0 if __name__ == "__main__": path_report = "D:"#需要分类的文件路径
file_name = "文件名"#每个文件夹的名字
path_xlsx = "D:/ip.xlsx"#索引表路径
host_path = "D:/"#保存文件夹的位置
f = open("vul_sc_ip.txt", 'r')#索引的txt文件,由于此脚本是根据ip索引的所以txt内为IP地址
all_ip = f.readlines()
f.close()
for each_ip in all_ip:
dict_name = find(path_xlsx,each_ip.strip('\n'))
for des_name in dict_name.keys():
new_path = mkdir(path_report,file_name,des_name)
#print new_path
save(host_path,new_path,dict_name.get(des_name))

2.读取指定目录下所有文件名的脚本:

#!/usr/bin/env python
# -*- coding:utf8 -*- import os f = open("ip.txt", 'w+') def file_name(file_dir):
for root, dirs, files in os.walk(file_dir): print >>f,(files) #当前路径下所有非目录子文件 file_name('D:/')

Python--通过索引excel表将文件进行文件夹分类的脚本+读取指定目录下所有文件名的脚本的更多相关文章

  1. python获取指定目录下所有文件名os.walk和os.listdir

    python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...

  2. python中获取指定目录下所有文件名列表的程序

    http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #------------------- ...

  3. iOS案例:读取指定目录下的文件列表

    // // main.m // 读取指定目录下的文件列表 // // Created by Apple on 15/11/24. // Copyright © 2015年 Apple. All rig ...

  4. Python读取指定目录下指定后缀文件并保存为docx

    最近有个奇葩要求 要项目中的N行代码 申请专利啥的 然后作为程序员当然不能复制粘贴 用代码解决.. 使用python-docx读写docx文件 环境使用python3.6.0 首先pip安装pytho ...

  5. 遍历并读取指定目录下的所有文件内容,写入Map集合然后输出在控制台和本地文件

    public class FileWrite { public static void main(String[] args) throws Exception { //封装数据源目录 File sr ...

  6. SAS 读取指定目录下文件列表宏

    OPTIONS PS=MAX LS=MAX NOCENTER SASMSTORE=SASUSER MSTORED MAUTOSOURCE;/*获取指定文件夹的指定类型的所有文件*/%MACRO GET ...

  7. TDirectory.GetFiles获取指定目录下的文件

    使用函数: System.IOUtils.TDirectory.GetFiles 所有重载: class function GetFiles(const Path: string): TStringD ...

  8. php获取指定目录下的所有文件列表

    在我们实际的开发需求中,经常用到操作文件,今天就讲一下关于获取指定目录下的所有文件的几种常用方法: 1.scandir()函数 scandir() 函数返回指定目录中的文件和目录的数组. scandi ...

  9. unity 读取excel表 生成asset资源文件

    做unity 项目也有一段时间了,从unity项目开发和学习中也遇到了很多坑,并且也从中学习到了很多曾经未接触的领域.项目中的很多功能模块,从今天开始把自己的思路和代码奉上给学渣们作为一份学习的资料. ...

随机推荐

  1. 设计模式(17) 访问者模式(VISITOR) C++实现

    意图: 表示一个作用于某对象结构的各元素的操作.它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作. 动机: 之前在学校的最后一个小项目就是做一个编译器,当时使用的就是访问者模式. 在静态 ...

  2. oracle sql练习 菜鸟入门!

    进入公司 ,首先是进行SQL培训 一下是针对oracle的emp与dept表进行的基础查询 --1.选择部门30中的所有员工: ; --2.列出所有办事员(CLERK)的姓名,编号和部门编号: sel ...

  3. [零基础学JAVA]Java SE面向对象部分.面向对象基础(04)

     2.代码块 1.内部类 3.链表 2.代码块: 1.) 普通代码块. 2.)静态代码块. 3.)构造代码块. 4.)同步代码块. class Test{//构造块    {        Syste ...

  4. chrome最新版49跨域问题

    chrome最新版49跨域问题   一.最新版49要用新的参数 加--user-data-dirwindows:"C:\Program Files\Google\Chrome\Applica ...

  5. 消息中间件--"rocketmq"02之QuickStart

    依赖 <dependency> <groupId>com.alibaba.rocketmq</groupId> <artifactId>rocketmq ...

  6. curl 抓取页面信息

    <?php // 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "www" ...

  7. 【[CQOI2015]选数】

    这道题自然是可以反演的 按照反演的套路我们先设出两个函数 \(F(n)\)表示从\([L,H]\)中任选\(N\)个数的最大公约数是\(n\)或者\(n\)的倍数的情况数 \(f(n)\)表示从\([ ...

  8. C/C++——指针,引用做函数形参

    函数中的形参是普通形参的时,函数只是操纵的实参的副本,而无法去修改实参. 引用形参是对实参的直接操纵,指针形参是对 它所指向的值(*p) 的直接操纵,但是对于这个指针变量(p)来说,依然只是副本. 指 ...

  9. 组合测试(Combinatorial Test)/配对测试 (pairwise)

    组合测试方法:配对测试实践 实施组合测试 常用的Pairwise工具集:http://www.pairwise.org/tools.asp 成对测试(Pairwise Testing)又称结对测试.两 ...

  10. virtualbox+vagrant学习-4-Vagrantfile-3-Minimum Vagrant Version

    Minimum Vagrant Version 可以在Vagrantfile中指定一组vagrant版本需求,以强制人们使用带有Vagrantfile文件的vagrant特定版本.这可以帮助解决使用带 ...