python编程时,经常和文件、目录打交道,这就离不开os模块,os模块包含普遍的操作系统功能,与具体的平台无关,列举一些常用的命令。

1.os.name:字符串指示你正在使用的平台。windows是“nt”,linux是“posix”。

#linux下
>>> os.name
'posix'
#window下
>>> os.name
'nt'

2.os.getcwd():当前所在的路径。

>>> os.getcwd()
'/tmp'

3.os.chdir("dirname"):切换到指定的路径。

>>> os.chdir('/etc/sysconfig')
>>> os.getcwd()
'/etc/sysconfig'

4.os.curdir:返回当前目录(‘.’),没发现有实际意义。

>>> os.curdir
'.'

5.os.pardir:返回当前目录的父目录的字符串名(“..”),也没有任何实际的意义。

>>> os.pardir
'..'

6.os.mkdir("dirname"):创建一个目录。

>>> os.mkdir('file1')

7.os.makedirs("dirname1/dirname2"):创建一个多层的目录。

>>> os.makedirs('dir1/file2')

8.os.rmdir("dirname"):删除一个目录,如果目录中有其它的目录或者文件将会报错,不能去删除文件。

>>> os.rmdir('dir2')

9.os.remove("filename"):删除一个文件。

>>> os.remove('dir1/test1')

10.os.removedirs():删除一个空目录。

>>> os.removedirs('dir1')

11.os.listdir('dirname'):列出指定的目录下的文件或者目录。

>>> os.listdir('/tmp')
['dir1', 'dir2']
>>> os.listdir('/tmp/dir1')
['file1', 'file2']

12.os.rename("oldname","newname"):修改文件名或目录名。

>>> os.rename('dir1','newdir1')   #修改目录名
>>> os.rename('newdir1/file1','newfile1') #修改文件名

13.os.stat('path/name'):查看文件或目录的信息。

>>> os.stat('newdir1')  #目录信息
os.stat_result(st_mode=16877, st_ino=34242941, st_dev=2051, st_nlink=2, st_uid=0, st_gid=0, st_size=19, st_atime=1510732290, st_mtime=1510732357, st_ctime=1510732357)
>>> os.stat('newdir1/file2') #文件信息
os.stat_result(st_mode=33188, st_ino=34242960, st_dev=2051, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1510729923, st_mtime=1510729923, st_ctime=1510729923)
stat文件信息的参数
st_mode 保护模式
st_ino 节点号
st_dev 设备
st_nlink inode的链接数
st_uid 所有者的uid,所有者是root
st_gid 所有者的gid
st_size 文件的大小
st_atime 最后的访问时间
st_mtime  
st_ctime 最后的修改时间

14.os.sep:输出操作系统特定的路径分割符。

#linux下
>>> os.sep
'/'
#windows下
>>> os.sep
'\\'

15.os.linesep:输出当前平台使用的行终止符。

#Linux下
>>> os.linesep
'\n'
#windows下
>>> os.linesep
'\r\n'

16.os.pathsep:输出用于分割文件路径的字符串。

#linux下
>>> os.pathsep
':'
#window下
>>> os.pathsep
';'

17.os.system('bash command'):运行命令,显示结果。直接显示

>>> os.system('ifconfig')
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.130 netmask 255.255.255.0 broadcast 192.168.43.255
ether 00:0c:29:f9:99:68 txqueuelen 1000 (Ethernet)
RX packets 15245 bytes 1192629 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6882 bytes 781568 (763.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 28 bytes 2380 (2.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2380 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 0

18.os.popen('bash command'):运行命令,获取执行的结果。返回一个可迭代对象

>>> os.popen('ifconfig')
<os._wrap_close object at 0x7fdbe4dcf1d0> #可迭代对象
>>> list(os.popen('ifconfig'))
['ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500\n', ' inet 192.168.43.130 netmask 255.255.255.0 broadcast 192.168.43.255\n', ' ether 00:0c:29:f9:99:68

19.os.environ:获取系统的环境变量

>>> os.environ
environ({'XDG_SESSION_ID': '', 'HOSTNAME': '7.2-2.cx.com', 'SELINUX_ROLE_REQUESTED': '', 'TERM': 'xterm', 'SHELL': '/bin/bash',

20.os.path.abspath(path):返回绝对路径

>>> os.path.abspath('dir2')
'/tmp/dir2'

21.os.path.exists(path):判断path是否存在,不存在返回False,存在返回True。

>>> os.path.exists('/tmp')
True
>>> os.path.exists('/tmp/test2')
False

22.os.path.isabs(path):判断path是否是绝对路径。

>>> os.path.isabs('dir2')
False
>>> os.path.isabs('/tmp/test2')
True

23.os.path.isfile(path):判断path是否是一个文件。

>>> os.path.isfile('/tmp/newdir1/file2')
True
>>> os.path.isfile('/tmp/newdir1')
False

24.os.path.isdir(path):判断path是否是一个目录。

>>> os.path.isdir('/tmp/newdir1')
True
>>> os.path.isdir('/tmp/newdir1/file2')
False

25.os.path.join(path1,path2....):可以将多个路径组合在一起。

>>> os.path.join('/tmp/newdir1','file2')
'/tmp/newdir1/file2'
>>> os.path.join('/tmp/newdir1','/tmp/file2')
'/tmp/file2' #路径中不能有重叠的地方
>>> os.path.join('/tmp/newdir1','file2/file3/file4')
'/tmp/newdir1/file2/file3/file4' #路径可能不存在

26.os.path.getatime(path):返回path文件或目录最后的访问时间。

>>> os.path.getatime('/etc/passwd')
1510725661.0741642 #可以转化一下
>>> time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(os.path.getatime('/etc/passwd')))
'2017-11-15 14:01:01'

27.os.path.getmtime(path):返回path文件或目录最后的修改时间

>>> os.path.getctime('/script/color.py')
1510228018.6768353 #转化一下
>>> time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(os.path.getctime('/script/color.py')))
'2017-11-09 19:46:58'

28.os.path.getsize(path):返回path的大小

>>> os.path.getsize('/etc/passwd')
1045

python常用模块——os模块的更多相关文章

  1. python常用模块: random模块, time模块, sys模块, os模块, 序列化模块

    一. random模块  import random # 任意小数 print(random.random()) # 0到1的任意小数 print(random.uniform(-10, 10)) # ...

  2. python中的os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...

  3. Python基础入门-os模块

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

  4. Python进阶(九)----json模块, pickle模块, os模块,sys模块,hashlib模块

    Python进阶----json模块, pickle模块, os模块,sys模块,hashlib模块 一丶序列化模块 什么是序列化: ​ 将一种数据结构,转换成一个特殊的序列(特殊字符串,用于网络传输 ...

  5. Python常用内建模块

    Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...

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

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

  7. 常用模块(collections模块,时间模块,random模块,os模块,sys模块,序列化模块,re模块,hashlib模块,configparser模块,logging模块)

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

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

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

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

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

  10. day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块

    json import json dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串 ...

随机推荐

  1. Angularjs学习笔记7_directive1

    1.基础知识 directive()接受两个参数 · name:字符串,指令的名字 · factory_function:函数,指令的行为 应用启动时,以name作为该应用的标识注册factory_f ...

  2. Graph Visualization

    1. 什么是graph visualization? Graph visualization is a way of representing structural information as di ...

  3. nefu 118 n!后面有多少个0 算数基本定理,素数分解

    n!后面有多少个0 Time Limit 1000ms Memory Limit 65536K description 从输入中读取一个数n,求出n! 中末尾0的个数. input 输入有若干行.第一 ...

  4. VMware虚拟机 Ubuntu 实用技巧 (1) -- 安装VMware Tool

    1.用VM安装Ubuntu后屏幕太小? 2.Ubuntu中的文本与window中的文本不能互相复制黏贴? 如果你遇到以上问题,可以通过在VMware里安装“VMware Tool”插件解决!! 安装步 ...

  5. mysql 数据库复制表 create table city1 like city;

    -- 只复制表结构 create table city1 like city; INSERT INTO test2 SELECT * FROM test; -- 上面的表必须存在 -- 复制整张表的数 ...

  6. VLC WebPlugin中文

    Documentation:WebPlugin 这篇文档讲述的是 VLC media player Web plugins 和怎样在网页使用它 Contents 1 介绍: 构建包含video的Web ...

  7. JPA(Java Persistence API)Java持久化API-介绍

    JPA全称: Java Persistence API JPA的宗旨是为POJO提供持久化标准规范,能够脱离容器独立运行,很方便开发和测试.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关 ...

  8. MathType编辑表示右上角的符号的方法

    MathType是一款公式编辑器,其中的符号种类非常的全,如果需要编辑一些专业的公式,用它非常的方便快捷.但是有些符号由于不常用,在一些模板之中使用的时候需要深入地去查找调用一下.比如表示右上角的符号 ...

  9. 如何解决mac下MAMP不能重启apache server的问题

    第一步:检查问题  在终端输入:sudo /Applications/MAMP/Library/bin/apachectl start  终端会提示你那个目录下的那个文件出现了什么问题 第二步:逐一排 ...

  10. 谈谈Android重打包--初语

    写在前面的话 仅以此系列献给喜欢我CSDN的小伙伴们 申明 此文禁止转载,谢谢合作 序言 在开头说这会是一个系列,那就说明我有非常多话要说.从最简单的介绍到问题的提出.解决方式的构思以及整个系统的架构 ...