Python——系统(os)及其练习

一.系统的查看

1.系统及其与系统相关的参数的导入

import os
from os.path import exists,splitext,join

2.返回操作系统类型
在这里插入图片描述
注:返回值为:posix,表示linux操作系统,如果是nt,是windows操作系统

3.操作系统的详细信息
在这里插入图片描述
4.系统环境变量
在这里插入图片描述
5.通过key值获取环境变量对应的value值
在这里插入图片描述

二.系统的相关操作

1.判断是否为绝对路径
在这里插入图片描述
在这里插入图片描述
注:判断的只是根如果由根则为绝对路径,不会判断该路径是否存在
2.生成绝对路径
在这里插入图片描述
3.获取目录名和文件名
在这里插入图片描述
4.创建目录和删除目录
在这里插入图片描述
在这里插入图片描述
注:在上截图中,img目录下面还有俩个子目录,如果直接删除img目录则会报错显示img目录不为空,因此在删除有子目录的目录时应递进删除,即先删除子目录,然后再删除指定要删除的目录
5.创建文件和删除文件
在这里插入图片描述
6.文件重命名
在这里插入图片描述
7.判断文件或者目录是否存在
在这里插入图片描述
8.分离后缀名和文件名
在这里插入图片描述
9.将目录名和文件名分离
在这里插入图片描述

三.系统练习

题目要求:

  1. 在当前目录新建目录img, 里面包含100个文件, 100个文件名
    各不相同(X4G5.png)
  2. 将当前img目录所有以.png结尾的后缀名改为.jpg.

实现如下:

def gen_code(len=4):
    #随机生成4位验证码
    li = random.sample(string.ascii_letters + string.digits,len)
    #将列表元素拼接为字符串
    return ''.join(li)


def create_files():
    #随机生成100个验证码
    li = [gen_code() for i in range(100)]
    os.mkdir('img')
    for name in li:
        os.mknod('img/' + name + '.png')

# create_files()

def modify_suffix(dirname,old_suffix,new_suffix):
    """

    :param dirname: 要操作的目录
    :param old_suffix: 之前的后缀名
    :param new_suffix: 新的后缀名
    :return:
    """
    if os.path.exists(dirname):
        #找出所有以old_suffix结尾的文件名
        pngfile = filter(lambda filename:filename.endswith(old_suffix),os.listdir(dirname))

        #将文件名和后缀分开
        basefiles = [os.path.splitext(filename)[0] for filename in pngfile]

        #文件重命名
        for filename in basefiles:
            oldname = os.path.join(dirname,filename+old_suffix)
            newname = os.path.join(dirname,filename+new_suffix)
            os.rename(oldname,newname)
            print('%s重命名为%s成功' %(oldname,newname))

    else:
        print('%s不存在,无法操作...' %dirname)


modify_suffix('dir','.jpg','.png')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成img目录下的100个以.png结尾的文件的法二:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/89075189