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)

 

posted @ 2015-06-19 21:15  SuperVan  阅读(385)  评论(1编辑  收藏  举报