Python 按指定类型和名字将文件夹及子文件夹下文件复制到一个指定文件夹并生成日志

需求:

1.获取当前子文件中名字包含特定名称的CSV文件

2.将获取文件复制到新建文件夹中,文件夹名称为boxdata加上当前年月日

3.生成日志文件,列出被复制的文件及文件总数

​
# 导入文件处理相关库
import os
import shutil

from datetime import datetime
now = datetime.now()  # 获得当前时间
timestr = now.strftime("%Y%m%d")
timestr2 = now.strftime("%Y%m%d%H%M%S")
timestr3 = now.strftime("%Y-%m-%d %H:%M:%S")
print('年月日:', timestr)
dir = os.getcwd() + '\\boxdata' + timestr  # os.getcwd()获得当前执行目录
if os.path.exists(dir):  # 看文件夹是否存在
    print('文件夹已存在')
else:  # 如果不存在
    os.makedirs(dir)  # 则创建文件夹

t = open("keyword.txt")  #获取同目录下keyword文件中的关键字,以检索文件名
s=t .read()
#ls = t.split()	#从特殊符号分隔的文件中读入数据则可以用ls = f.split("$")
#f.close()
keyword=str(s)  #获取文件中关键字,生成字符串

existfile = []  #创建一个空列表
 
def eachfile(filepath):
    pathdir = os.listdir(filepath)  #返回目录条目列表
  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以使用 Python 标准库的 logging 模块来实现将运行程序的日志按天写入的功能。具体步骤如下: 1. 导入 logging 模块 ```python import logging ``` 2. 配置 logging ```python # 创建 Logger 对象 logger = logging.getLogger() # 设置日志级别为 DEBUG,即输出所有级别的日志 logger.setLevel(logging.DEBUG) # 创建一个按天分割日志的处理器 log_file = f"log/{datetime.datetime.now().strftime('%Y-%m-%d')}.log" handler = logging.handlers.TimedRotatingFileHandler( log_file, when='midnight', interval=1, backupCount=7) # 设置输出格式 formatter = logging.Formatter( '%(asctime)s %(levelname)-8s %(message)s', '%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) # 将处理器添加到 Logger 对象 logger.addHandler(handler) ``` - `logger.setLevel(logging.DEBUG)`:设置日志级别为 DEBUG,这样所有级别的日志都会被记录。 - `log_file`:设置日志文件的路径和文件名,使用了当前日期来动态生成文件名。 - `logging.handlers.TimedRotatingFileHandler`:创建按天分割的日志处理器。 - `handler.setFormatter(formatter)`:设置日志的输出格式,此处使用了时间、级别和消息三个字段。 3. 记录日志 ```python logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') ``` - `logger.debug`:记录 debug 级别的日志。 - `logger.info`:记录 info 级别的日志。 - `logger.warning`:记录 warning 级别的日志。 - `logger.error`:记录 error 级别的日志。 - `logger.critical`:记录 critical 级别的日志。 这样就可以实现将运行程序的日志按天写入的功能了。注意,需要先创建一个名为“log”的文件夹来存储日志文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值