当前第2页 返回上一页
新的版本推荐使用subprocess.run() 来解决一般问题。
subprocess.run()、subprocess.call()、subprocess.check_call()和subprocess.check_output()都是通过对subprocess.Popen的封装来实现的高级函数,因此如果我们需要更复杂功能时,可以通过subprocess.Popen来完成
run默认不会返回输出,只返回命令和执行状态
1 | recomd = subprocess.run([ 'ls' , '-l' ])#等待命令执行完成后会在屏幕输出执行结果,然后返回一个包含执行结果的CompletedProcess类的实例。 print ( '输出recmd\n' ,recomd) print (recomd.returncode)
|
输出如下:

如果要返回输出,要添加参数,传递subprocess.PIPE给stdout和stderr,然后可以通过返回的CompletedProcess类实例的stdout和stderr属性或捕获相应的内容;
universal_newlines: 该参数影响的是输入与输出的数据格式,比如它的值默认为False,此时stdout和stderr的输出是字节序列;当该参数的值设置为True时,stdout和stderr的输出是字符串。
总代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | print ( 'hello,world' )
import os
import subprocess
recomd = subprocess.run([ 'ls' , '-l' ])
print ( '输出recmd\n' ,recomd)
print (recomd.returncode)
print ( '传递参数' )
recomdouterr = subprocess.run( [ 'ls' , '-l' ],stdout = subprocess.PIPE,stderr = subprocess.PIPE,universal_newlines = True )
print ( '输出outerr' ,recomdouterr.stdout,recomdouterr.stderr)
print ( '传递参数2' )
recomdouterr = subprocess.run( [ 'ls' , '-l' ],stdout = subprocess.PIPE,universal_newlines = True )
print ( '输出outerr' ,recomdouterr.stdout)
print ( len ( recomdouterr.stdout.strip().split( '\n' ) ))
print (recomdouterr.stdout.strip().split( '\n' )[ - 1 ])
|
参考资料:python3.5 官方文档 : https://docs.python.org/3.5/library/subprocess.html
Python的使用途径越来越广泛了,而Linux作为服务器端也是大有作为,使用Python来实现Linux的脚本操作,简化了服务器端的操作,提高了可控性。
以上就是利用python3实现Linux的脚本功能的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
Python可以根据值寻找键吗
p语言是Python吗
Python代码出现错误怎么修改
Python中关于模块查找的使用详解
传智Python怎么样
Python变量名有哪些
在Python中如何将字符串转回为小写
Python实现网页中下载的功能实例
详解Python urllib2用法
Python文件操作的介绍(代码示例)
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » 利用python3实现Linux的脚本功能