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

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

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

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

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

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

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

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Sun Jul 12 16:13:01 2015
  4.  
  5. @author: Administrator
  6. """
  7.  
  8. import os
  9. files=os.listdir('G:/Manesh_ss')
  10. for filename in files:
  11. newname=os.path.splitext(filename)[0]+'.txt'
  12.  
  13. 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. 【java】Vector

    package com.tn.collect; import java.util.Enumeration; import java.util.Iterator; import java.util.Ve ...

  2. Java用代码获取classes目录下的文件的方式

    假设我们有个Maven的Web项目,其中有src/main/java和src/main/resources两个输出目录(注意这两个目录下的内容运行后都会输出到classes目录下), 而在src/ma ...

  3. caffe CuDNN报错问题解决

    解决cudnn问题:Loaded runtime CuDNN library: 5005 (compatibility version 5000) but source was compiled wi ...

  4. 程序员的自我救赎---11.1:RPC接口使用规范

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  5. 树链剖分X2

    1.ZJOI树的统计 板子题 因为初始化没打改了几个小时 改到双腿软着出的机房(身体素质感人 #include<iostream> #include<cstdio> #incl ...

  6. apache泛域名解析

    <VirtualHost *:80>    DocumentRoot "E:\work\phpStudy\WWW\ncpx\web"    ServerName ncp ...

  7. hello world 为什么我们看到学习中有这一句话!!!

    Hello World ,中文意思:你好,世界.世界上的第一个程序就是Hello World,由Brian Kernighan创作. Hello, world"程序是指在计算机屏幕上输出“H ...

  8. Netty-Websocket 根据URL路由,分发机制的实现

    最近在做netty整合websocket,发现网上很多项目都是最简单的demo,单例的一个项目. 然而公司的项目需要接受几个不同功能的ws协议消息,因此最好是用URL来区分,让页面上采用不同的链接方式 ...

  9. Python的文件及异常

    1. Python的文件及异常 1.1 文件操作 1.1.1 从文件中读取数据 许多情况下,我们的信息是存储在文本中的.例如对用户行为的分析,用户访问系统或者网站的访问信息会被存储于文本中,然后对文本 ...

  10. 高级开发层面,针对Hibernate方面面试题的总结(对其它ORM也适用)

    虽然目前mytabis用得比较多,但Hibernate相对比较容易上手,而且也有不少公司在用,所以本文就用这个举例,事实上,本文给出的面试建议也适用于各种ORM.本文摘自java web轻量级开发面试 ...