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)

 

你可能感兴趣的:(python)