python os模块详解

os模块提供对操作系统进行调用的接口

1、获取当前的路径

>>> import os
>>> os.getcwd()     //相当于Linux命令pwd
'/root'

2、切换目录

>>> os.chdir("/usr/local")        //相当于Linux命令cd
>>> os.getcwd()
'/usr/local'

3、递归的创建目录

>>> os.makedirs("/a/b/c")         //makedirs能达到递归创建目录的功能
>>> os.chdir("/a/b/c")
>>> os.getcwd()
'/a/b/c'
>>> os.mkdir("/a")          //mkdir不能递归创建,只能在现有的基础上创建目录

4、删除目录

>>> os.removedirs("/a/b/c")       //注意:如果目录为空,则删除;并递归到上一级目录,如果上一级目录还为空,也删除
>>> os.rmdir("/a/b/c")          //rmdir则只会删除c目录

5、列出某个目录的内容

>>> os.listdir("/tmp")          //括号中的参数支持使用"."或者"..",来表示当前目录和上级目录
['.ICE-unix', 'pulse-Fs462EvLc7Dh', 'keyring-uwyK0a', '.esd-0', '.X0-lock', 'pulse-jkPtSpm9pKFD', 'keyring-MWNb3a', 'orbit-gdm', 'virtual-root.28G7kT', '.X11-unix', 'keyring-vSKFBk', 'keyring-s0TXNr', 'virtual-root.T44xz0']

6、删除文件

>>> os.remove("/root/test.txt")   //括号中的参数为文件路径

7、重命名文件或目录

>>> os.rename("/a","/c")        //括号中参数为"旧的","新的"

8、获取文件或目录的信息

>>> os.stat("/root/test.py")          //默认打印全部属性
os.stat_result(st_mode=33188, st_ino=1198015, st_dev=64768, st_nlink=1, st_uid=0, st_gid=0, st_size=261, st_atime=1521601271, st_mtime=1521601271, st_ctime=1521601271)
>>> os.stat("/root/test.py").st_size    //也可以取其中的某个值
261

9、输出操作系统的路径分隔符,比如:windows为"\",Linux为"/"

>>> os.sep
'/'

10、输出操作系统的换行分隔符,比如:windows为"\r\n",Linux为"\n"

>>> os.linesep
'\n'

11、查看系统的环境变量

>>> os.environ  

内容过多,就不再复制

12、获取当前操作系统环境变量的分隔符,比如:windows为";",Linux为":"

>>> os.pathsep
':'

13、显示当前系统

>>> os.name
'posix'

14、执行操作系统的命令

>>> os.system("ls -l")
总用量 21840
-rw-------. 1 root root     1612 2月   7 17:21 anaconda-ks.cfg
-rw-r--r--. 1 root root    46478 2月   7 17:21 install.log
-rw-r--r--. 1 root root    10033 2月   7 17:19 install.log.syslog
-rw-r--r--. 1 root root 22256403 12月 23 2016 Python-3.6.0.tgz

15、把文件路径和文件做分割

>>> os.path.split("/a/b/c/a.txt")    //把一个文件的整体路径做分割
('/a/b/c', 'a.txt')

16、获取目录名

>>> os.path.dirname("/a/b/c/a.txt")
'/a/b/c'

17、获取文件名

>>> os.path.basename("/a/b/c/a.txt")
'a.txt'

18、判断路径是否存在,可以判断目录和文件

>>> os.path.exists("/b")
False
>>> os.path.exists("/c")
True
>>> os.path.exists("/etc/passwd")
True

19、判断路径是否是绝对路径

>>> os.path.isabs("/etc/passwd")
True
>>> os.path.isabs("passwd")
False

20、判断参数是否为文件

>>> os.path.isfile("/etc/passwd")
True
>>> os.path.isfile("/etc")
False

21、拼接路径

>>> os.path.join("/root","passwd","passwd.txt")
'/root/passwd/passwd.txt'

22、获取文件或目录的存取时间,返回时间戳

>>> os.path.getatime("/etc/passwd")
1521600541.5160062
>>> os.path.getatime("/etc")
1521531717.0806012

23、获取文件或目录的修改时间

>>> os.path.getmtime("/etc")
1521600007.5530176
>>> os.path.getmtime("/etc/passwd")
1517995284.6799996

24、返回文件的绝对路径

os.path.abspath(__file__)                             //返回文件的绝对路径
print(os.path.dirname(os.path.abspath(__file__)))    //返回文件的所在目录

原文发布于微信公众号 - 编程坑太多(idig88)

原文发表时间:2018-03-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

Linux命令(49)——export命令(builtin)

export命令为Shell内建命令,用于设置或显示环境变量,环境变量包含变量与函数。

1481
来自专栏coder修行路

多进程、协程、事件驱动及select poll epoll

多线程的使用场景 IO操作不占用CPU 计算占用cpu python多线程不适合cpu密集型操作的任务,适合IO操作密集型的任务 多进程 简单的一个多进程例子:...

3569
来自专栏张善友的专栏

VS 2005 文本编码小技巧

     VS2003使用代码生成器生成的代码加入到工程会很郁闷的,在智能提示中是乱码,在VS2005中有一个选项可以解决这个问题。      今天将一个工程从...

1986
来自专栏Petrichor的专栏

python: IO操作

1103
来自专栏瓜大三哥

UVM(十)之config机制续2

UVM(十)之config机制续2 1.用专门的类来组织config变量 到这里为止,本章目前所设计的都是少量数据在不同的component之间的传递,对于一...

2419
来自专栏程序员互动联盟

【专业技术第七讲】linux下如何编译C语言?

存在问题: 小伙伴们都知道gcc -c -o 但是其中的过程和一些参数就不是太清楚了,往往编译出错不知道咋办? 解决方案: 我们来简单普及一下,让大家不盲从请...

3525
来自专栏nummy

ipython 自动加载 auto_reload 扩展

在开发中django或者flask开发中,调试的时候经常用到manager shell.如果安装了ipython的话,默认是打开ipython的。在调试过程中,...

933
来自专栏雅俗

Linux服务器通过crontab自动备份数据库

执行 crontab 命令如果报 command not found,就表明没有安装

2856
来自专栏从零开始学自动化测试

pytest文档10-命令行传参addoption

命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在cmd执行”pytest —html=report.html”,这里面的”—html=report...

2493
来自专栏coding

Linux笔记2

1562

扫码关注云+社区

领取腾讯云代金券