python-3.x - 将最旧的 1000 个文件移动到另一个目录的 Python 脚本
问题描述
这是我的代码,它从配置文件中读取输入并根据条件将文件移动到另一个目录并将信息记录到日志文件中
import shutil
import configparser
import logging.handlers
import os
#Reading the input configuration
config = configparser.ConfigParser()
config.read("config_input.ini")
src_filepath = (config.get("Configuration Inputs","src_filepath"))
dst_filepath = (config.get("Configuration Inputs","dst_filepath"))
log_file_name = (config.get("Configuration Inputs","log_file_name"))
file_limit = int((config.get("Configuration Inputs","file_limit")))
if not os.path.exists (dst_filepath):
os.makedirs(dst_filepath)
onlyfiles_in_dst = next ( os.walk ( dst_filepath ) ) [ 2 ]
file_count_indst = len ( onlyfiles_in_dst )
onlyfiles_in_src = next ( os.walk ( src_filepath ) ) [ 2 ]
file_count_insrc = len ( onlyfiles_in_src )
def sorted_ls(src_filepath):
mtime = lambda f: os.stat(os.path.join(src_filepath, f)).st_mtime
return list(sorted(os.listdir(src_filepath), key=mtime))
move_list = sorted_ls(src_filepath)
#print (move_list)
if file_count_indst < file_limit:
for mfile in move_list:
shutil.move(src_filepath + '\\' + mfile, dst_filepath)
**#Logging everything**
logger = logging.getLogger()
logging.basicConfig(filename=log_file_name, format='%(asctime)s %(message)s', filemode='a')
logger.setLevel(logging.INFO)
logger.info('Number of files moved from source ' + str(len(move_list)))
但问题是我只想将 1000 个文件从源移动到目标。就像是
“ ls -lrt| 头部 ls -lrt | 头部 -n 1000 ”
当我在 Windows 平台上运行此脚本时,我无法做到这一点。请提出一个正确的方法来做到这一点。另外请建议我如何将它放在用户定义的类下,并且可以在其他程序中使用。
解决方案
一个简单的计数器不能成为解决方案吗?
if file_count_indst < file_limit:
count=0;
for mfile in move_list:
shutil.move(src_filepath + '\\' + mfile, dst_filepath)
count = count +1
if count==1000:
break
推荐阅读
- javascript - Ajax 安全吗?对于 ASP.NET MVC 中的级联下拉菜单,哪种方法更安全?
- java - Java HashMap 遍历每个循环,但所有值都相同,是循环的最后一个值
- linux - 删除台面使其他依赖项卸载
- ios - Foundation 的语言环境数据如何以及何时更新?
- c# - 给定 ExecuteNonQuery() 中对象的当前状态的无效操作
- optimization - 如何改造二次规划目标函数以适应matlab quadprog?
- node-red - 节点红色传感器输出:如何将华氏温度转换为摄氏温度
- php - 如何在 Laravel 上的另一个控制器的 $request 中添加一些东西
- sql - 什么 SQL 查询对此有用?(甲骨文)
- pandas - 无法执行 xlsx 文件