import os
for dirpath,dirnames,files in os.walk("D:\Apython\代码文件\自动化办公\python自动化办公第一次作业"):
print(f"发现文件夹:{dirpath}")
print(files)
发现文件夹:D:\Apython\代码文件\自动化办公\python自动化办公第一次作业
['python学生表.xlsx', 'python笔记.txt', 'python笔记2.doc', '新建 DOCX 文档.docx', '新建 PPTX 演示文稿.pptx', '新建 XLS 工作表.xls']
发现文件夹:D:\Apython\代码文件\自动化办公\python自动化办公第一次作业\python文件夹1
['新建 DOC 文档.doc', '新建 PPTX 演示文稿.pptx', '新建文本文档 (2).txt', '新建文本文档.txt']
发现文件夹:D:\Apython\代码文件\自动化办公\python自动化办公第一次作业\python文件夹2
[]
发现文件夹:D:\Apython\代码文件\自动化办公\python自动化办公第一次作业\文件夹1
['新建 PPT 演示文稿.ppt', '新建 RTF 文档.rtf', '新建 XLSX 工作表.xlsx', '新建文本文档.txt']
发现文件夹:D:\Apython\代码文件\自动化办公\python自动化办公第一次作业\文件夹2
[]
print("abc.txt".startswith("ab"))
print("abc.txt".endswith(".txt"))
True
True
import glob
print(glob.glob("**/*.txt",recursive=True))
['123.txt', '第一层文件夹\\第二层文本文件.txt', '第一层文件夹\\第二层文件夹\\第三层文本文件.txt']
print(glob.glob("[1-5]?*.txt"))
['123文本.txt', '234文本.txt', '345文本.txt', '456文本.txt']
print(glob.glob("[1-5]?*.txt"))
['123文本.txt', '234文本.txt', '345文本.txt', '456文本.txt', '567文本.txt']
fnmatch.fnmatch(“文件名”,“匹配条件”)
指判断我们找到的这个文件名是否符合我们后面设定的匹配条件
import fnmatch
print(fnmatch.fnmatch("lessin1.py","le*1.py"))
print(fnmatch.fnmatch("lessin5.py","le*[1-4].py"))
print(fnmatch.fnmatch("lessin5.py","le*[1-6].py"))
True
False
True
for file in os.scandir():
print(file.name,file.stat())
.ipynb_checkpoints os.stat_result(st_mode=16895, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0, st_atime=1594523818, st_mtime=1594523818, st_ctime=1594436131)
123文本.txt os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=14, st_atime=1594523064, st_mtime=1594523064, st_ctime=1594519859)
234文本.txt os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=17598, st_atime=1594523112, st_mtime=1594523112, st_ctime=1594522053)
345文本.txt os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=3518, st_atime=1594523119, st_mtime=1594523119, st_ctime=1594522053)
456文本.txt os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0, st_atime=1594522074, st_mtime=1594522074, st_ctime=1594522053)
567文本.txt os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0, st_atime=1594522196, st_mtime=1594522196, st_ctime=1594522196)
Python自动化办公(第1课)输出目录下所有文件及文件夹.ipynb os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=103706, st_atime=1594523818, st_mtime=1594523818, st_ctime=1594436131)
python自动化办公(第2课)遍历、搜索文件及查询文件信息.ipynb os.stat_result(st_mode=33206, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=133340, st_atime=1594524593, st_mtime=1594524593, st_ctime=1594475681)
第一层文件夹 os.stat_result(st_mode=16895, st_ino=0, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0, st_atime=1594519979, st_mtime=1594519950, st_ctime=1594519865)
import time
time_unix = 1332888820
time_normal = time.gmtime(time_unix)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_normal)
print(f"时间戳转化为普通时间为:{dt}")
时间戳转化为普通时间为:2012-03-27 22:53:40
dt="2012-03-27 22:53:40"
time_list=time.strptime(dt,"%Y-%m-%d %H:%M:%S")
time_unix=int(time.mktime(time_list))
print(time_unix)
1332860020
import time
import os
for file in os.scandir():
if ".txt" in file.name:
print(file.name,time.ctime(file.stat().st_mtime))
123文本.txt Sun Jul 12 11:04:24 2020
234文本.txt Sun Jul 12 11:05:12 2020
345文本.txt Sun Jul 12 11:05:19 2020
456文本.txt Sun Jul 12 10:47:54 2020
567文本.txt Sun Jul 12 10:49:56 2020
import datetime
d1=datetime.datetime(2020,7,20)
d2=datetime.datetime(2020,7,10)
difference_time=(d1-d2).days
print(difference_time)
10
import time
import datetime
compare_time = "2020,07,20"
compare_time_list = time.strptime(compare_time, "%Y,%m,%d")
compare_unix_time = time.mktime(compare_time_list)
# 上面我随便写一个普通时间,因为我不知道怎么写时间戳
time_list = time.gmtime(compare_unix_time) # 当只能返回一个unix时间戳时可将compare_unix_time替换
commonTime = time.strftime("%Y,%m,%d", time_list)
d1 = datetime.datetime(2020, 7, 15)
# 用字符串分割的方法将月份或日期中的0分离
year = commonTime[0:4]
if commonTime[5] == 0:
month = commonTime[6]
else:
month = commonTime[5:7]
if commonTime[8] == 0:
day = commonTime[9]
else:
day = commonTime[8:10]
d2 = datetime.datetime(int(year), int(month), int(day))
difference = (d2-d1).days + 1 # 未知原因:普通时间转时间戳再转普通时间会有一天的时间差
print(f"时间差为:{difference}天")
时间差为:5天
import datetime
import os
for file in os.scandir():
if ".txt" in file.name:
print(file.name,datetime.datetime.fromtimestamp(file.stat().st_mtime))
123文本.txt 2020-07-12 11:04:24.643349
234文本.txt 2020-07-12 11:05:12.179337
345文本.txt 2020-07-12 11:05:19.653509
456文本.txt 2020-07-12 10:47:54.647869
567文本.txt 2020-07-12 10:49:56.998667
print(os.stat("123文本.txt"))
print("——————分割线——————")
print(os.stat("123文本.txt").st_size)
print(datetime.datetime.fromtimestamp(os.stat("123文本.txt").st_atime))
print(time.ctime(os.stat("123文本.txt").st_mtime))
print(os.stat("123文本.txt").st_ctime)
os.stat_result(st_mode=33206, st_ino=5348024557544664, st_dev=2089448231, st_nlink=1, st_uid=0, st_gid=0, st_size=14, st_atime=1594523065, st_mtime=1594523064, st_ctime=1594519859)
——————分割线——————
14
2020-07-12 11:04:25.856858
Sun Jul 12 11:04:24 2020
1594519859.7518227
import os
import time
# 见第2课笔记中unix时间戳与普通时间转换
# 为下面比较时间大小做准备
compare_time="2020-07-12 12:31:59"
compare_time_list=time.strptime(compare_time, "%Y-%m-%d %H:%M:%S")
compare_time_nuix= int(time.mktime(compare_time_list))
for dirpath,dirname,files in os.walk("D:\Apython\代码文件\自动化办公\python自动化办公第2次作业"):
for file in os.scandir(dirpath):
if (file.name).endswith(".zip") or (file.name).endswith(".rar"):
# print(file.name,file.stat().st_size)
if file.stat().st_size/ 1024/ 1024 >10:
# print(file.name,file.stat().st_size/ 1024/ 1024)
# print(file.name,file.stat().st_ctime)
# 获得file的整形unix时间戳
file_int_unix_time=int(file.stat().st_ctime)
if file_int_unix_time < compare_time_nuix:
print(file.path)
D:\Apython\代码文件\自动化办公\python自动化办公第2次作业\二级C无纸化考试模拟软件.zip
D:\Apython\代码文件\自动化办公\python自动化办公第2次作业\压缩包\数据结构课件.zip
D:\Apython\代码文件\自动化办公\python自动化办公第2次作业\压缩包\李明特2019年度总结.zip