写脚本

1、遍历文件夹下文件,选择不同后缀的文件写入csv,同时提取出文件名内信息

# -*- coding: utf-8 -*-
import os
import pandas as pd   #和csv有关的最好的库就是panda了
import sys

def get_filename(file_dir):
    L=[]
    for root, dirs, files in os.walk(file_dir):
        # print(root) #当前目录路径
        # print(dirs) #当前路径下所有子目录
        # print(files) #当前路径下所有非目录子文件
        for file in files:
            if os.path.splitext(file)[1] == ‘.png‘: 
                L.append(os.path.join(root, file))
    return L

def main():
    # file_path = ‘/media/aha/‘
    file_path = sys.argv[1]
    # 这里在当前路径下生成一个filename.csv文件用来记录所有文件名
    creat_csvfile_path = r"路径下生成一个filename.csv文件用来记录所有文件名"

    FileName = get_filename(file_path)
    content1 = []
    for filename in FileName:
        content = [[filename]] 
        content0 = filename.split("_", 12)[4]
        content1.append(content0)
        list_name = [‘文件名‘]
        tab_data = pd.DataFrame(data=content, columns=list_name)
        #这一步是为了不覆盖表头
        if not os.path.exists(creat_csvfile_path):
            tab_data.to_csv(creat_csvfile_path, mode=‘a+‘, encoding=‘utf-8-sig‘, index=False)
        else:
            tab_data.to_csv(creat_csvfile_path, mode=‘a+‘, encoding=‘utf-8-sig‘, index=False, header=False)
    content2 = set(content1)
    for con in content2:
        print("the %s has found %d" %(con,content1.count(con)))

if __name__ == ‘__main__‘:
    main()
  • get_filename函数作用是为了遍历文件夹

    • os.path.splitext(file)[1] == ‘.png‘将文件的文件名和后缀分开,并挑选相应的1文件
    • L.append(os.path.join(root, file))将目录加上文件名写入列表
  • file_path = sys.argv[1]从命令行得到相应文件路径

  • for filename in FileName:循环列表内容执行写入和其他操作

    • content0 = filename.split("_", 12)[4]以"_"形式拆分文件名,提取相应信息

    • tab_data.to_csv写入csv文件

    • #列表去重
      content2 = set(content1)   
          for con in content2:
              print("the %s has found %d" %(con,content1.count(con)))
      

      遍历列表,得到每类重复数量信息
      写脚本

参考下文
原文链接:https://blog.csdn.net/weixin_41135473/article/details/102635689

写脚本

上一篇:xxl-job 任务调度中心(定时器)(v2.1.0)


下一篇:01 拷贝服务器ip配置文件到指定目录下