Python是一种强大的编程语言,它不仅具有自己的函数库,还可以使用系统命令来执行一些操作。本文将为您介绍使用Python执行系统命令后获取返回值的几种方式,包括os.system()、os.popen()、subprocess.call()、subprocess.Popen()和check_output()。
os.system()
os.system()函数可以在Python程序中执行操作系统命令,它返回命令的退出状态。以下是一个os.system()的示例:
import os
status = os.system('ls -l')
print("Exit status:", status)
输出结果:
total 8
-rw-r--r-- 1 user staff 410 Sep 9 16:48 readme.md
-rw-r--r-- 1 user staff 1050 Sep 9 16:49 script.py
Exit status: 0
这里使用了UNIX命令ls -l
,在终端上可以列出当前工作目录下的文件和文件夹。在Python程序中,我们使用os.system()函数来执行这个命令,并打印出返回的退出状态。
os.popen()
os.popen()函数也可以执行系统命令并返回输出结果。与os.system()不同的是,os.popen()返回的是一个文件对象,可以用于读取输出结果。以下是一个os.popen()的示例:
import os
output = os.popen('ls -l')
print("Output:\n", output.read())
输出结果:
Output:
total 8
-rw-r--r-- 1 user staff 410 Sep 9 16:48 readme.md
-rw-r--r-- 1 user staff 1050 Sep 9 16:49 script.py
这里也使用了UNIX命令ls -l
,只是在Python程序中使用了os.popen()函数来执行这个命令,并打印出返回的输出结果。
subprocess.call()
subprocess.call()函数也可以执行系统命令,并返回命令的退出状态。以下是一个subprocess.call()的示例:
import subprocess
status = subprocess.call(['ls', '-l'])
print("Exit status:", status)
输出结果:
total 8
-rw-r--r-- 1 user staff 410 Sep 9 16:48 readme.md
-rw-r--r-- 1 user staff 1050 Sep 9 16:49 script.py
Exit status: 0
这里使用了UNIX命令ls -l
,在Python程序中使用subprocess.call()函数来执行这个命令,并打印出返回的退出状态。
subprocess.Popen()
subprocess.Popen()函数可以执行系统命令,并返回一个Popen对象,可以使用communicate()方法来获取输出结果。以下是一个subprocess.Popen()的示例:
import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
output, error = p.communicate()
print("Output:\n", output.decode('utf-8'))
输出结果:
total 8
-rw-r--r-- 1 user staff 410 Sep 9 16:48 readme.md
-rw-r--r-- 1 user staff 1050 Sep 9 16:49 script.py
这里同样使用了UNIX命令ls -l
,在Python程序中使用subprocess.Popen()函数来执行这个命令,并使用communicate()方法获取输出结果。
check_output()
check_output()函数是subprocess模块提供的另一种方法,可以通过执行系统命令并返回输出结果。以下是一个check_output()函数的示例:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print("Output:\n", output.decode('utf-8'))
输出结果:
total 8
-rw-r--r-- 1 user staff 410 Sep 9 16:48 readme.md
-rw-r--r-- 1 user staff 1050 Sep 9 16:49 script.py
这里同样使用了UNIX命令ls -l
,在Python程序中使用subprocess.check_output()函数来执行这个命令,并获取输出结果。
总结
本文介绍了使用Python执行系统命令后获取返回值的几种方式,包括os.system()、os.popen()、subprocess.call()、subprocess.Popen()和check_output()。这些函数都可以执行系统命令,并返回相应的结果,可以根据具体需求选择合适的函数使用。