python 下遍历目录和文件的代码

REF:

https://www.runoob.com/python3/python3-os-walk.html

 

 

 

# -*- coding: utf-8 -*-

import os
TARGETPATH = r'C:\\Users\\.ASIA\\Downloads'
TARGETPATH = r'C:\Users\.ASIA\Documents\Work\PAD'
records = []
for currentDir, _, includedFiles in os.walk(TARGETPATH):
    #if not currentDir.endswith('*'): continue
    #else:
    
    records.append(currentDir) # 将以“_BAD”结尾的文件夹名加入records
    records.extend(includedFiles) # 将该文件夹内的文件名列表扩展到records
# 将records写入.txt
txtFile = open(os.path.join(TARGETPATH, '02_04_BAD.txt'), 'w',encoding='utf-8')
txtFile.write((os.linesep.join(records)))
txtFile.close()
# 将排序后的records写入.txt
with open(os.path.join(TARGETPATH, '02_04_BAD_SORTED.txt'), 'w',encoding='utf-8') as txtFile:
    txtFile.write('\n'.join(sorted(records)))

 

 

 

 


import os
TARGETPATH = r'C:\\Users\\.ASIA\\Downloads'
TARGETPATH = r'C:\Users\.ASIA\Documents\Work\Pad'
records = []
txtFile = open(os.path.join(TARGETPATH, '02_04_BAD.txt'), 'w',encoding='utf-8')
for currentDir, _, includedFiles in os.walk(TARGETPATH):
    #if not currentDir.endswith('*'): continue
    #else:
    
    records.append(currentDir) # 将以“_BAD”结尾的文件夹名加入records
    records.extend(includedFiles) # 将该文件夹内的文件名列表扩展到records

# 将records写入.txt
    
txtFile.write('\t')
txtFile.write((os.linesep.join(records)))
txtFile.close()
# 将排序后的records写入.txt
#with open(os.path.join(TARGETPATH, '02_04_BAD_SORTED.txt'), 'w',encoding='utf-8') as txtFile:
#    txtFile.write('\n'.join(sorted(records)))
txtFile_2 = open(TARGETPATH + '\\02_04_BAD_SORTED.txt', 'w',encoding='utf-8')
txtFile_1 = open(TARGETPATH + '\\02_04_BAD.txt', 'r',encoding='utf-8')
 
content = txtFile_1.readlines()
print(type(content))
print(content)

result_1 = 5
for i in content:
    zifu = '\\'
    result = i.count(zifu)
    #print(i)
    print(result)
    if result > 0 :
        result_1 = result
        for j in range (result_1 - 5):  #路径中已经有5个“\”,所以先减去
            txtFile_2.write('\t')
    elif (result == 0) :
        result_1=result_1 
        for j in range (result_1 - 4):
            txtFile_2.write('\t')
    txtFile_2.write(i)
txtFile_1.close()
txtFile_2.close()

 

 

按照时间进行排序,找出选定时间之后的文件。

import os
import time
import datetime

TARGETPATH = r'C:\Users\ .ASIA\Downloads'

abs_path = os.path.abspath(TARGETPATH)
print(abs_path)

def compare_time(time1,time2):
    #s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
    #e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
    s_time = time.mktime(time.strptime(time1,'%a %b %d %X %Y'))
    e_time = time.mktime(time.strptime(time2,'%a %b %d %X %Y'))
    #print ('s_time is:',s_time)
    #print ('e_time is:',e_time)
    return int(s_time) - int(e_time)

#result = compare_time('2017-04-17','2017-04-19')
#print ('the compare result is:',result)


jsontime = 'Sun Nov 1 08:09:16 2020'

root = TARGETPATH
path = os.path.join(root, 'part_A_final', 'train_data', 'images')
pathnames = []
for (dirpath, dirnames, filenames) in os.walk(root):
    for filename in filenames:
        pathnames += [os.path.join(dirpath, filename)]
print (pathnames)
pathnames.sort(key=os.path.getmtime)

txtFile = open(os.path.join(TARGETPATH, '02_sort_time.txt'), 'w',encoding='utf-8')

files = pathnames
filename_path_time = []
i=0
for filename in files:
    # 获得文件的最后修改时间
    #modification_time = os.path.getmtime(dirPath +'\\' + filename)
    modification_time = os.path.getmtime( filename )
    #print(filename)
    local_time = time.ctime(modification_time)
    result = compare_time(local_time , jsontime )
    #print ('the compare result is:',result)
    if result > 0:
        filename_path_time = filename +'\t'+ local_time
        #filename_path_time =filename_path_time + 1
        print("Last modification time(Local time):",filename_path_time) 
        #txtFile.write((os.linesep.join(filename_path_time)))
        txtFile.write(((filename_path_time)))
        txtFile.write((('\r\n')))
    # 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表
    #mlist.append(str(int(createTime)) + "-" + filename)

txtFile.close()

txtFile = open(os.path.join(TARGETPATH, '02_sort.txt'), 'w',encoding='utf-8')

files = pathnames
filename_path_time = []
i=0
for filename in files:
    # 获得文件的最后修改时间
    #modification_time = os.path.getmtime(dirPath +'\\' + filename)
    modification_time = os.path.getmtime( filename )
    #print(filename)
    local_time = time.ctime(modification_time)
    result = compare_time(local_time , jsontime )
    #print ('the compare result is:',result)
    if result > 0:
        filename_path_time = filename
        
        print("Last modification time(Local time):",filename_path_time)
        
        txtFile.write(((filename_path_time)))
        txtFile.write((('\r\n')))
    # 将最后修改时间戳作为文件名的前缀,得到新的文件名,加入列表
    #mlist.append(str(int(createTime)) + "-" + filename)

txtFile.close()


'''
REF:
https://blog.csdn.net/judgechen1997/article/details/100853820
https://www.cnblogs.com/cssdongl/p/6729120.html
%a星期的简写。如 星期三为Web
%A星期的全写。如 星期三为Wednesday
%b月份的简写。如4月份为Apr
%B月份的全写。如4月份为April
%c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d: 日在这个月中的天数(是这个月的第几天)
%f: 微秒(范围[0,999999])
%H: 小时(24小时制,[0, 23])
%I: 小时(12小时制,[0, 11])
%j: 日在年中的天数 [001,366](是当年的第几天)
%m: 月份([01,12])
%M: 分钟([00,59])
%p: AM或者PM
%S: 秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
%U: 周在当年的周数当年的第几周),星期天作为周的第一天
%w: 今天在这周的天数,范围为[0, 6],6表示星期天
%W: 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x: 日期字符串(如:04/07/10)
%X: 时间字符串(如:10:43:39)
%y: 2个数字表示的年份
%Y: 4个数字表示的年份
%z: 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z: 时区名称(如果是本地时间,返回空字符串)
%%: %% => %
'''



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值