欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的OS模块

程序员文章站 2024-03-24 12:37:58
...

1.返回操作系统类型

os.name


值:posix(linux操作系统)
值:nt(windows操作系统)

2.返回操作系统详细信息
 

os.uname()

3.系统的环境变量
 

os.environ
os.environ.get('PATH')

4.是否是绝对路径
 

os.path.isabs('/hello')
不会判断文件或目录是否存在

5.生成绝对路径

os.path.abspath('hello.png')
os.path.join('/home','hello.png')  
os.path.join(os.path.abspath('.'),'hello.png') 点表示当前路径

6.获取目录名和目录下的文件名
 

os.path.basename(filename)
os.path.dirname(filename)
filename为一个目录

7.创建目录,删除目录
 

os.mkdir('img')
os.makedirs('img/file') (mkdir -p)
os.rmdir('imag')

8.文件创建,删除
 

os.mknod('text')
os.remove('text')

9.文件重命名
 

os.rename('A',‘B’)
A必须存在

10.判断文件目录是否存在
 

os.path.exists('/home/kiosk/hello')

11.分离文件的后缀名和文件名
 

os.path.splitext('hello.png')

12.将目录名和文件名分离
 

os.path.split('/ss/ss/hello.png')

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

import os
import random
import string


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


def create_file():
    # 随机生成多个文件名
    li = {gen_code() for i in range(100)}

    os.mkdir('img')
    for name in li:
        os.mknod('img/' + name + '.png')


def modify_suffix(dirname, old_suffix, new_suffix):
    """
    :param dirname:  所要操作的目录
    :param old_suffix: 之前的文件后缀
    :param new_suffix: 新的文件后缀
    :return:
    """
    # 1.判断查找的目录是否存在,如果不存在,显示报错
    if os.path.exists(dirname):
        # 2.找出所有以old_suffix(.png)结尾的文件
        pngfiles = [filename for filename in os.listdir(dirname)
                    if filename.endswith(old_suffix)]
        # 3.将文件名和后缀名分开,留下文件名
        basefiles = [os.path.splitext(filename)[0] for filename in pngfiles]
        print basefiles

        # 4.重命名
        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('img','.png','.jpg')