python的标准库模块sys和os

一、sys模块

1.作用:负责程序与python解释器的交互,提供函数和变量用于操控python的运行时环境

2.常用方法1:sys.argv 类型为list,命令行参数列表,第一个元素是脚本名称或路径

import sys

for row in sys.argv:
    print(row)

3.常用方法2:sys.path 类型为list,模块的搜索路径

for row in sys.path:
    print(row)

    1)它使用PYTHONPATH环境变量初始化

    2)第一个元素是当前目录,意思是每次会首先搜索当前目录下的模块

    3)用户在程序中可以自己修改sys.path,设置自己模块的搜索路径

4.常用方法3:sys.exit(n):退出程序,n为0代表正常退出,不为0 代表异常退出,在shell中使用$?获取推出值(echo $?)

二、os模块:负责程序与操作系统交互,提供访问操作系统底层的接口

1.os.environ 字典类型,读取系统环境变量

2.os.remove(path) 删除文件

3.os.rename(src,dst) 重命名文件或目录,可实现文件移动

4.os.mkdir(dir) 创建目录

5.os.rmdir(dir) 删除目录,目录必须为空

6.os.listdir(path) 返回列表,列出目录下的文件和目录

7.os.path.basename(path) 提取路径参数中的文件名

8.os.path.dirname(path) 提取路径参数中的目录名

9.os.path.split(path) 拆分path(目录名,文件名)

10.os.path.splitext(path) 拆分path(文件名,后缀名)

11.os.path.exists(path) 判断指定的文件或目录是否存在

12.os.path.isdir(path) 判断path参数是否的目录

13.os.path.isfile(psth) 判断path参数是否是普通文件

三、练习

113c818855eb4f5dcec4f58298632fec5ee.jpg

"""
按后缀名清理文件
"""
import sys
import os


def clearup(dirpath):
    """
    目录按照后缀名清理
    1.使用字典按后缀名搜集对应的文件
    2.如果后缀名的目录不存在,则创建
    3.移动文件到目标目录
    :param dirpath:
    :return:
    """
    ext_fnames = {}
    for fname in os.listdir(dirpath):
        fdir,fileext = os.path.splitext(fname)
        fileext = fileext[1:]  #去除.jpg中的.
        if fileext not in ext_fnames:
            ext_fnames[fileext] = []
        ext_fnames[fileext].append(fname)

    for ext,fnames in ext_fnames.items():
        ext_dir = "%s/%s"%(dirpath,ext)
        if not os.path.isdir(ext_dir):
            os.mkdir(ext_dir)
        for fname in fnames:
            old_fpath = "%s/%s"%(dirpath,fname)
            new_fpath = "%s/%s"%(ext_dir,fname)
            os.rename(old_fpath,new_fpath)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        raise Exception("please give the clerup dir path")

    dirpath = sys.argv[1]
    if not os.path.isdir(dirpath):
        raise Exception("%s is not a dir"%dirpath)
    clearup(dirpath)
    print("success")

转载于:https://my.oschina.net/u/3055497/blog/3084380

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值