python每日一练

题目七:遍历某个目录下的所有图片,并在图片名称后面增加_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

你可能感兴趣的:(python每日一练)