什么是Python中的子进程
今天就跟大家聊聊有关什么是Python中的子进程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联建站是一家集网站建设,太谷企业网站建设,太谷品牌网站建设,网站定制,太谷网站建设报价,网络营销,网络优化,太谷网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
子进程
很多时候,子进程并不是自身,而是一个外部进程。我们创建了子进程后,还需要控制子进程的输入和输出。当试图通过python做一些运维工作的时候,subprocess简直是顶梁柱。
subprocess模块可以让我们非常方便地启动一个子进程,然后控制其输入和输出。
下面的例子演示了如何在Python代码中运行命令nslookup <某个域名>,这和命令行直接运行的效果是一样的:
#!/usr/bin/env python # coding=utf-8 import subprocess print("$ nslookup www.yangcongchufang.com") r = subprocess.call(['nslookup', 'www.yangcongchufang.com']) print("Exit code: ", r)
执行结果:
➜ python subcall.py $ nslookup www.yangcongchufang.com Server: 219.141.136.10 Address: 219.141.136.10#53 Non-authoritative answer: Name: www.yangcongchufang.com Address: 103.245.222.133 ('Exit code: ', 0)
如果子进程还需要输入,则可以通过communicate()方法输入:
#!/usr/bin/env python # coding=utf-8 import subprocess print("$ nslookup") p = subprocess.Popen(['nslookup'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, err = p.communicate(b"set q=mx\nyangcongchufang.com\nexit\n") print(output.decode("utf-8")) print("Exit code:", p.returncode)
上面的代码相当于在命令行执行命令nslookup,然后手动输入:
set q=mx yangcongchufang.com exit
看完上述内容,你们对什么是Python中的子进程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
当前文章:什么是Python中的子进程
地址分享:http://pwwzsj.com/article/ppdooc.html