popen函数_python中os模块的内置函数

python内置的os模块是与操作系统(OS即Operating System的缩写)进行交互的模块,他可以实现很多在命令行下面的操作。

例如:获取操作系统信息、获取/修改环境变量、进行目录操作(创建、删除、遍历)和各种文件操作等等。

下面我们列举几个重要并且常用的内置函数:

1、os.system()

该函数用于执行系统命令,用法示例:

command_shell = "ps aux | grep test"os.system(command_shell )

4cef5c23958703d7e592a7565b508d37.png

使用os.system执行完成后,会同步打印出终端输出结果,但是结果不会赋值给指定的变量。

os.system()执行完成后,如果执行成功了,返回结果是0,失败了返回0以外其它的值。

2、os.popen()

如果想将终端输出结果赋值给指定的变量,可以使用os.popen()

os.popen的用法和os.system的用法一样,见下图:

71b9519c1dfe34b45dfe0f8b60d944ce.png

终端输出结果会以一行为一个变量,放在一个文件当中,需要使用readlins()方法来查看,使用完成后需注意一定要用close()方法关闭。

3、os.path.abspath(path)

返回绝对路径,用法示例:

2bb6a48f3af1cbd7c32c7fd58ce8a746.png

4、os.path.exists(path/file_name)

判断文件是否存在,存在则返回True,不存在则返回False

用法示例:

e08504fbbd27ce2d1487376d1651b388.png

5、os.path.isdir(path)

判断给定路径是文件还是文件夹,是文件夹的话就返回True,否则则返回False

用法示例:

6a65e17a9234cb67dbd7bc6360bab0dc.png

6、os.path.isfile(path)

判断给定路径是文件还是文件夹,是文件的话就返回True,否则则返回False

用法示例:

b4cad055cce1d4dbd2812936b9d29256.png

7、os.rmdir(path)

os.remove() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。

如果成功后,该方法没有返回值,失败后则抛出异常。

8、os.remove(file_name)

os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。

如果成功后,该方法没有返回值,失败后则抛出异常。

9、os.access()

检测登录用户对文件和路径的权限

语法格式:

os.access(path, mode)

参数

  • path -- 要用来检测是否有访问权限的路径。

  • mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。

    • os.F_OK: 作为access()的mode参数,测试path是否存在。

    • os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。

    • os.W_OK 包含在access()的mode参数中 , 测试path是否可写。

    • os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。

#!/usr/bin/python# -*- coding: UTF-8 -*-import os, sys# 假定 /tmp/foo.txt 文件存在,并有读写权限ret = os.access("/tmp/foo.txt", os.F_OK)print "F_OK - 返回值 %s"% retret = os.access("/tmp/foo.txt", os.R_OK)print "R_OK - 返回值 %s"% retret = os.access("/tmp/foo.txt", os.W_OK)print "W_OK - 返回值 %s"% retret = os.access("/tmp/foo.txt", os.X_OK)print "X_OK - 返回值 %s"% ret