python如何实现定时遍历目录,每次把目录下的最新的文件放到列表里?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何实现定时遍历目录,每次把目录下的最新的文件放到列表里?相关的知识,希望对你有一定的参考价值。
比如:遍历A目录下,A目录下每分钟进来文件123.txt、124.txt.....,每分钟进来的文件名不一样,可以把进来后已经处理过的文件放到列表里吗?处理过的pass,没处理过的才进行下一步操作,请教具体如何实现?
如果文件量很大,可以使用列表吗,列表没有长度限制吧?每天需要清理列表已有的记录,如何实现呢?
'定时每分钟调用此函数'
new_file_list = os.listdir(path)
for new_file in new_file_list:
#判断是否是新进来的文件
if new_file in deal_type_dict:
contiune
deal_type_dict[new_file] = 0 # 0 表示文件未下一步操作 1 表示已处理
if __name__ == '__main__':
deal_type_dict =
while 1:
time.sleep(60)
getFileListType("A目录")
for deal_file in deal_type_dict:
if deal_type_dict[deal_file] == 0:
deal_next_function(deal_file ) #新文件处理操作
deal_type_dict[deal_file] = 1 #并标识处理过的文件
# 如果要定时清理,自己实现一个计时函数清理字典中处理过的文件
if 满足条件 == 1天:
清除字典中=1的记录 参考技术A 123456789101112131415161718192021 def getFileListType(path, deal_type_dict): '定时每分钟调用此函数' new_file_list = os.listdir(path) for new_file in new_file_list: #判断是否是新进来的文件 if new_file in deal_type_dict: contiune deal_type_dict[new_file] = 0 # 0 表示文件未下一步操作 1 表示已处理 if __name__ == '__main__': deal_type_dict = while 1: time.sleep(60) getFileListType("A目录") for deal_file in deal_type_dict: if deal_type_dict[deal_file] == 0: deal_next_function(deal_file ) #新文件处理操作 deal_type_dict[deal_file] = 1 #并标识处理过的文件 # 如果要定时清理,自己实现一个计时函数清理字典中处理过的文件 if 满足条件 == 1天: 清除字典中=1的记录
python遍历目录下的所有文件和目录详细介绍
目录结构如下图:
test---a------d------g--------g.txt
test---a------d------a.txt
test---a------e
--------b
--------c
--------1.txt
--------2.txt
一、使用os.walk遍历所有的目录和文件
1、获取test目录下的所有文件
for root,dirs,files in os.walk(r"D:\\test"):
for file in files:
#获取文件所属目录
print(root)
#获取文件路径
print(os.path.join(root,file))
2、获取test目录下的所有目录
for root,dirs,files in os.walk(r"D:\\test"):
for dir in dirs:
#获取目录的名称
print(dir)
#获取目录的路径
print(os.path.join(root,dir))
二、利用os.listdir递归获取所有的目录路径和文件路径
def get_file_path(root_path,file_list,dir_list):
#获取该目录下所有的文件名称和目录名称
dir_or_files = os.listdir(root_path)
for dir_file in dir_or_files:
#获取目录或者文件的路径
dir_file_path = os.path.join(root_path,dir_file)
#判断该路径为文件还是路径
if os.path.isdir(dir_file_path):
dir_list.append(dir_file_path)
#递归获取所有文件和目录的路径
get_file_path(dir_file_path,file_list,dir_list)
else:
file_list.append(dir_file_path)
if __name__ == "__main__":
#根目录路径
root_path = r"D:\\test"
#用来存放所有的文件路径
file_list = []
#用来存放所有的目录路径
dir_list = []
get_file_path(root_path,file_list,dir_list)
print(file_list)
print(dir_list)
以上是关于python如何实现定时遍历目录,每次把目录下的最新的文件放到列表里?的主要内容,如果未能解决你的问题,请参考以下文章
这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件