一、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)