一、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模块学习:os模块的更多相关文章

  1. day5模块学习 -- os模块学习

    python基础之模块之os模块 os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/ ...

  2. Python:模块学习——os模块

    os模块提供了多个访问操作系统服务的功能 os模块中一些重要的函数和变量 os.name 显示当前使用平台 os.getcwd() 显示当前Python脚本工作路径 os.listdir('dirna ...

  3. Python内置OS模块用法详解

    大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示.刚入门的读者千万不要错过! 很多人学习python,不知 ...

  4. python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )

    1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...

  5. 善于利用python中的os模块

    作为一个程序猿,平时善于利用python中的os模块进行路径等操作,会省去很多麻烦,下面总结一下我平时经常用到的方法: import os os.getcwd() # 获取当前文件所在的目录 os.p ...

  6. Python入门-模块2(random模块、os模块)

    >>> random.randomrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random.randint(1,10) #返回1-1 ...

  7. Python基础入门-os模块

    今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...

  8. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  9. Python中使用os模块执行远程命令

    1. 使用os模块远程执行命令 服务端代码 1 import socket 2 import os 3 4 sh_server = socket.socket() #创建一个socket对象 5 sh ...

  10. 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操

    目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...

随机推荐

  1. 【CSS3】盒模型

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 【java】实现Interface java.lang.Comparable<T>接口的int compareTo(T o)方法实现对象数组或链表或集合的排序,和挽救式对象比较器Interface java.util.Comparator<T>

    package 对象比较排序; import java.util.Arrays; class A implements Comparable<A>{ private String name ...

  3. JaveScript用二分法与普通遍历(冒泡)

    二分法 查找 概念: 从有序的数列中,折半查找. 思路: --> 找到数组中最中间的元素,将其作为基准 --> 从0开始判断数组中的元素,与基准进行比较 --> 比基准小的元素,存入 ...

  4. 百度云BCC配置Apache VirtualHost 实现相同域名不同端口访问不同应用

    问题描述:前戏:本人在百度云上购买了BCC虚拟服务,并购买域名,部署应用,可以正常访问(这里一切都很正常^_^). 事情正在起变化:随着开发的不断推进,工程在本地测试成功后,部署到服务器,会发现有些页 ...

  5. 447. Number of Boomerangs

    Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...

  6. [置顶] xamarin android使用gps定位获取经纬度

    看了文章你会得出以下几个结论 1.android定位主要有四种方式GPS,Network(wifi定位.基站定位),AGPS定位 2.绝大部分android国产手机使用network进行定位是没有作用 ...

  7. HNOI2013 BZOJ3142 数列

    尝试用Markdown写一篇博客 3142: [Hnoi2013]数列 Description 小T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的 ...

  8. 扩展Microsoft Graph数据结构(开放扩展)

    作者:陈希章 发表于 2018年1月2日 前言 Microsoft Graph是一张拥有巨大价值的网络,它定义了包括Office 365在内的资源的实体及其关系,它的价值体现在,随着用户积累的数据越来 ...

  9. Python 项目实践三(Web应用程序)第三篇

    接着上节的继续学习,现在要显示所有主题的页面 有了高效的网页创建方法,就能专注于另外两个网页了:显示全部主题的网页以及显示特定主题中条目的网页.所有主题页面显示用户创建的所有主题,它是第一个需要使用数 ...

  10. 在一个终端后台运行的进程在新的终端中使用job不会被发现

    我在一个终端后台运行了一个程序.之后由于工作需要又新开了一个新的终端.在新的终端中,我想查看后台程序的运行状态,输入jobs时,发现没有后台任务运行.难道我的程序死掉了?我接着top了下,发现我的后台 ...