Python脚本将最早的1000个文件移动到另一个目录

时间:2019-07-11 13:41:35

标签: python-3.x

这是我的代码,用于读取配置文件中的输入,并根据条件将文件移动到另一个目录,并将信息记录到日志文件中

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平台上运行此脚本,因此无法执行。 请提出正确的做法。 另外,请建议如何将其放在用户定义的类下,并可以在其他程序中使用。

1 个答案:

答案 0 :(得分:0)

解决方案难道不是一个简单的计数器吗?

strcat