zoukankan      html  css  js  c++  java
  • python模块学习:os模块

    一、os模块概述

    Python os模块包含普遍的操作系统功能。例如文件的复制、创建、修改、删除文件及文件夹...

    二、常用方法

    1、os.listdir()   返回指定目录下的所有文件和目录名。

    2、os.remove()  删除一个文件。

    3、os.system()  运行shell命令。

    4、os.path.split()   函数返回一个路径的目录名和文件名

    5、os.path.isfile()和os.path.isdir()   函数分别检验给出的路径是一个文件还是目录,返回值分别为Ture或False

    6、os.path.exists()    函数用来检验给出的路径是否存在,返回值分别为Ture或False。

    7、os.path.getsize(name)   获得文件大小,如果name是目录返回0L

    8、os.path.splitext(name)     分离文件名与扩展名

    9、os.path.join(path,name)   连接目录与文件名或目录

    10、os.path.basename(path)    返回文件名

    11、os.path.dirname(path)     返回文件路径

    12、os.walk(path)   

    该函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表
    os.walk()举例:>>> import os 

    >>> for root, dirs, files in os.walk("wd/chat", topdown=False):
    ... for name in files:
    ... print(os.path.join(root, name)) #打印文件绝对路径

    ... for name in dirs:
    ... print(os.path.join(root, name)) #打印目录绝对路径 ...

    实例1:用python批量修改文件的扩展名:

    import os
    
    # 列出当前目录下所有的文件
    files = os.listdir(".")       
    
    for filename in files:
        portion = os.path.splitext(filename)
        # 如果后缀是.txt
        if portion[1] == ".pdb":  
            # 重新组合文件名和后缀名   
            newname = portion[0] + ".dssp"   
            os.rename(filename,newname)

     实例2:找出两个文件夹中文件名不同的文件(两个文件夹中的文件扩展名是不同的)

    # -*- coding: utf-8 -*-
    """
    Created on Sun Jul 12 10:55:03 2015
    
    @author: chaofn
    """
    
    import os
    files_ss=os.listdir('G:/Manesh_ss')
    #生成Manesh_ss目录下去除扩展名的文件名列表
    files1=[os.path.splitext(filename)[0] for filename in files_ss]
    files_ss2=os.listdir('G:/Manesh_ss2')
    #生成Manesh_ss2目录下去除扩展名的文件名列表
    files2=[os.path.splitext(filename)[0] for filename in files_ss2]
    for filename in files1:
        if filename not in files2:
            print (filename)

     实例3:更改目录下所有文件的后缀名

    # -*- coding: utf-8 -*-
    """
    Created on Sun Jul 12 16:13:01 2015
    
    @author: Administrator
    """
    
    import os
    files=os.listdir('G:/Manesh_ss')
    for filename in files:
        newname=os.path.splitext(filename)[0]+'.txt'
       
        os.rename('G:/Manesh_ss/%s'%filename,'G:/Manesh_ss/%s'%newname)
  • 相关阅读:
    web前端安全---读书笔记
    三色旗
    Pascal三角形
    汉诺塔算法
    冒泡排序算法
    HttpRunner 参数化数据驱动
    swagger接口变动监控
    HttpRunnerManager平台异步生成及展示代码覆盖率报告(ant+jacoco+jenkins+HttpRunnerManager)
    SonarQube+jenkins+maven平台搭建
    requests 模块
  • 原文地址:https://www.cnblogs.com/chaofn/p/4589755.html
Copyright © 2011-2022 走看看