题目七:遍历某个目录下的所有图片,并在图片名称后面增加_xx
import os
for dirorfiles in os.listdir("/Users/chatengjuan/Documents/test"):
os.chdir("/Users/chatengjuan/Documents/test")
if os.path.splitext(dirorfiles)[1] == ".JPG":
new_name = os.path.splitext(dirorfiles)[0] + "_XXX" + os.path.splitext(dirorfiles)[1]
os.rename(dirorfiles,new_name)
题目六:查找某个目录下是否存在某个文件名
方法一:
import os
def func1(dir_path,file):
for root,dirs,files in os.walk(dir_path):
if file in files:
return True
else:
return False
print(func1("/Users/chatengjuan/Documents/test","a.py"))
方法二:
import os
def func2(dir_path,file):
os.chdir(dir_path)
if os.path.exists(file):
return True
else:
return False
print(func2("/Users/chatengjuan/Documents/test","a.py"))
题目五:使用程序建立一个多级的目录,在每个目录下,新建一个和目录名字一样的txt文件
import os
os.chdir("/Users/chatengjuan/Documents/test")
for i in range(3):
os.mkdir(str(i)) #创建目录
os.chdir(str(i)) #切换到指定目录下
with open(str(i)+".txt","w",encoding="utf-8") as file_obj:
pass
题目四:
#删除某个目录下的全部文件(仅限一级目录)
#遍历所有的目录、文件,如果主目录等于一级目录,删除其下的文件
for root,dirs,files in os.walk("e:\\test"):
if root == "e:\\test":
for path in os.listdir(root):
os.chdir(root)
if os.path.isfile(path):
os.remove(path)
题目三:
#删除某个目录下的全部文件
import os
filenum = 0
dirnum = 0
for file_and_dir in os.listdir("/Users/test/work/test/test1"):
os.chdir("/Users/test/work/test/test1")
if os.path.isfile(file_and_dir):
filenum += 1
elif os.path.isdir(file_and_dir):
dirnum += 1
print("文件数为:",filenum)
print("目录数为:",dirnum)
题目二:
#删除某个目录下的全部文件
import os
for file_and_dir in os.listdir("/Users/test/work/test/test1"):
os.chdir("/Users/test/work/test/test1")
if os.path.isfile(file_and_dir):
os.remove(file_and_dir)
题目一:
1) 一个目录下只有文件(自己构造),拷贝几个文件(手工完成)
2 )用listdir函数获取所有文件,如果文件的创建时间是今天,那么就在文件里面写上文件的路径、
文件名和文件扩展名
3) 如果不是今天创建(获取文件的创建时间,并转化为时间格式,判断是否今天),请删除
4 )计算一下这个程序的执行耗时
import os
import time
start_time = time.time()
for file in os.listdir("/Users/test/work/test"):
os.chdir("/Users/test/work/test")
if time.strftime("%Y-%m-%d") == time.strftime("%Y-%m-%d",time.localtime(os.path.getctime(file))):
with open(file,"w",encoding="utf8") as file_obj:
file_obj.write(os.path.abspath(file))
else:
os.remove(file)
elapse_time = time.time() - start_time
print("耗时:",elapse_time)
知识点解析:
time.time()当前时间
打印出今天的日期
>>> print(time.strftime("%Y-%m-%d"))
2020-02-28
把文件的创建时间转换为时间元组
>>> time.localtime(os.path.getctime("/Users/test/work/test/st/2.txt"))
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=28, tm_hour=12, tm_min=32, tm_sec=14, tm_wday=4, tm_yday=59, tm_isdst=0)
获得文件的创建时间,转换为固定格式的日期
>>> print(time.strftime("%Y-%m-%d",time.localtime(os.path.getctime("/Users/test/work/test/st/2.txt"))))
2020-02-28