python笔记-2020/09/09上午-案例&文件操作

list = [ i for i in range(1,10001)]
print(list)
import os
list2 = [i for i in os.listdir(path="C://")]
print(list2)
import os,sys
# 创建目录
# path = "E:/path"
# os.mkdir(path)
# print("目录已创建")
# 1.创建文件夹
# 2.创建多级目录
# path = "E:/path/python"
# os.mkdir(path)
# 3.删除目录
# os.rmdir('E:/path/python')
# 4.创建文件
dir_name = 'E:\\path\\'
if not os.path.exists(dir_name):
    os.mkdir(dir_name)
content = 'pyton测试'
fb = open(dir_name+'python.txt',mode='w',encoding='utf-8')
fb.write(content)
print('创建成功!')
# 5.删除文件
os.remove('E:/path/python.txt')
print("删除成功!")
# 6.获取文件信息
# print(os.path.basename('E:\\path\\python.txt'),os.stat('E:\\path\\python.txt'),)
"""
def formatTime(longtime):#格式化时间的函数
    import time
    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(localtime))
def formatByte(number):# 格式化文件大小的函数
    for (scale.label) in [(1024 * 1024 * 1024, "GB"), (1024 * 1024, "MB"), (1024, "KB")]:
        if number >= scale:
            return "%.2f %s" % (number * 1.0 / scale, lable)
        elif number == 1:
            return "1字节"
        else:  # 小于1字节
            byte = "%.2f" % (number or 0)
    return (byte[:-3])
if byte.endswith:
    (".00")
else:
    (byte) + "字节"
fileinfo = os.stat("mr.png")  # 获取文件的基本信息
print("文件完整路径:",os.path.abspath("mr.png"))  # 获取文件的完整路径
# 输出文件的基本信息
print("索引号:", fileinfo.st_ino)
print("设备名:", fileinfo.st_dev)
print("文件大小:", formatByte(fileinfo.st_size))
print("最后一次访问时间:", formatTime(fileinfo.st_atime))
print("最后一次修改时间:", fileinfo.st_mtime)
print("最后一次状态变化的时间:", fileinfo.st_ctime)
"""

# 7.重命名文件
# os.rename('E:\\path\\python.txt','E:\\path\\python重命名.txt')
# 8.拼接路径

# import os
#
# print("1:",os.path.join('aaaa','/bbbb','ccccc.txt'))
# print("2:",os.path.join('/aaaa','/bbbb','/ccccc.txt'))
# print("3:",os.path.join('aaaa','./bbb','ccccc.txt'))

# 9.拆分路径

# print(os.path.split('C:\\Users\\Administrator\\Desktop\\feiq\\2020-9-1\\code\\ch02'))

# 10.获取指定路径的扩展名
# import os
# f = "a/b/c/d.txt"
# name, ext = os.path.splitext(f)
# print(name, ext)
# print(os.path.dirname(f))
# print(os.path.basename(f))
# 11.获取文件的名称 最后一级的名字
"""
dz = 'C:\\Users\\Administrator\\Desktop\\feiq\\2020-9-1\\code\\ch02'
print(os.listdir(dz))
print(os.path.split(dz)[-1])
"""

# 12.获得最后一级前的路径名
# print(os.path.split(dz)[-2])
# 13.获取文件的大小
# wj = 'E:\\path\\python重命名.txt'
# print(os.path.getsize(wj))
判断
# 1.判断指定路径是否是绝对路径
# s=os.path.isabs('E:\安大的四年\图片\1.png')
# print(s)
# 2.判断指定路径是不是目录

# print(os.path.isdir(dz))

# 3.判断是否是文件
# print(os.path.isfile(dz))
# 4.判断指定路径在计算机中是否存在
# print(os.path.exists(dz))
练习:
1.获取指定目录下,后缀名为.mp4的文件
import os
cFileNumber = 0
dir = 'D:\\' #指定文件夹的路径
for root, dirs, files in os.walk(dir):                      #遍历该文件夹
    for file in files:                                      #遍历刚获得的文件名files
        (filename, extension) = os.path.splitext(file)      #将文件名拆分为文件名与后缀
        if (extension == '.mp4'):                             #判断该后缀是否为.c文件
            cFileNumber= cFileNumber+1                      #记录.c文件的个数为对应文件号
            #print(cFileNumber, os.path.join(root,filename)) #输出文件号以及对应的路径加文件名
            print("PLACE_RAM(" + filename + ')')           #以PLACE_RAM(文件名)形式输出文件名
2.获取指定目录下所有的文件
import os

def test(path):
    files = os.listdir(path)  # 获取当前目录的所有文件及文件夹
    for file in files:
        try:
            file_path = os.path.join(path, file)  # 获取绝对路径
            if os.path.isdir(file_path):  # 判断是否是文件夹
                test(file_path)  # 如果是文件夹,就递归调用自己
            else:
                print(file_path)
                extension_name = os.path.splitext(file_path)  # 将文件的绝对路径中的后缀名分离出来
                print(extension_name)
        except:
            continue  # 可能会报错,所以用了try-except,如果要求比较严格,不需要报错,就删除异常处理,自己调试

test(r'C:\Users\Administrator\Desktop\feiq\2020-9-1\code\ch02')
3.删除指定目录所有的文件
import shutil
def del_file(filepath):
    del_list = os.listdir(filepath)
    for f in del_list:
        file_path = os.path.join(filepath, f)
        if os.path.isfile(file_path):
            os.remove(file_path)
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path)
del_file(r'E:/path/')

&

def del_file(filepath):
    def_list = os.listdir(filepath)
    for f in def_list:
        file_path=os.path.join(filepath,f)
        if os.path.isfile(file_path):
            os.remove(file_path)
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path)
del_file(r"E:\eee")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值