Python自动化办公p2: 遍历/搜索文件/查询文件信息

import os

#1-遍历:os.walk(指定的绝对路径或相对路径):把文件夹里的文件夹里的文件都找出来

for dirpath,dirnames,files in os.walk('./'):
    print(F"发现文件夹:{dirpath}")
    print(files)

#2-搜索:  (1)利用字符串匹配方法
#.starswith() .endswith()
print('meanwhile'.startswith('mean'))
print('meanwhile'.endswith('ile'))

#          (2) glob模块 glob.glob() recursive=True 递归找到文件夹下的所有符合条件文件

import glob
print(glob.glob('*.py'))# *任意的字符
print(glob.glob('test_?.py'))# ?单个字符
print(glob.glob('test_[2,5].py')) # []列表内的匹配 [0-9] [1,4,5] ![1,3]不在列表内的
print(glob.glob('**/*.pth', recursive=True))

#           (3)fnmatch模块 可以用来匹配文件名

import fnmatch
print(fnmatch.fnmatch('test.py','te*.py'))

#3-查询文件信息;  os.scandir()返回的文件都可以查询信息
#                files.stat()文件的信息 st_size st_mtime
#                os.stat(指定文件路径)单独查询制定文件信息
#                time.ctime()
#                datetime.datetime.fromtimestamp()
import time #unix时间戳 time.ctime()
import datetime #时间戳

that_time = datetime.datetime.fromtimestamp(1567764428)
print(that_time)
print(that_time.year,that_time.day)
print(that_time.hour)
print(that_time.minute)
print(that_time.second)

for files in os.scandir():
    files_time = files.stat().st_mtime
    print(files.name,datetime.datetime.fromtimestamp(files_time))

print(os.stat('test_1.py'))
#作业: 找到文件夹内体积大于100,以‘.py’结尾的文件
#       筛选文件日期早于2022年 输出文件路径
for ins in os.scandir():
    in_size = ins.stat().st_size
    in_time = datetime.datetime.fromtimestamp(ins.stat().st_mtime)
    in_time_year = in_time.year
    if in_size > 100 and ins.name.endswith('.py') and in_time_year<2022 :
        print(ins.path)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章