函数模块
系统()
-
<李>其中最后一个0是这个命令的返回值,为0表示命令执行成功。使用系统无法将执行的结果保存起来。
例子: ,
<代码>祝辞的在比;进口操作系统 在在在os.system (ls) 博客。焦油djangoblog。日志managerblog。sh用法 数据ENV nginx-1.15.11 wget-log 0 代码>
popen ()
提示:python3已结废弃
例子:
<代码>祝辞的在比;进口操作系统 在在在os.popen (ls) & lt;操作系统。在0 x7f0acd548b00> _wrap_close对象; 在在在os.popen (ls) .read () “blog.tar \ ndata \ ndb.sql \ ndead.letter \ nDjangoBlog \ ndjangoblog.log \ nENV \ nfile1 \ nget-pip.py \ nindex.html \ nmanagerblog.sh \ nnginx-1.15.11 \ nPython-3.5.2 \ nstartDjangoBlog.sh \ nstart_uwsgi.ini \ ntest.txt \ nwget-log \ nzrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war \ n ' 在在在os.popen (ls) .read () .split (“\ n”) ['博客。沥青”、“数据”、“db。sql”、“死了。信”、“DjangoBlog”、“DjangoBlog。日志”、“ENV”、“file1”、“get-pip。py”、“指数。html”、“managerblog。sh”、“nginx-1.15.11”、“Python-3.5.2”、“startDjangoBlog。sh”、“start_uwsgi。ini”、“测试。txt”、“wget-log”、“zrlog-2.1.3-b5f0d63-release.war ? attname=根。战争’,”)代码>
获取命令执行的结果,但是没有命令的执行状态,这样可以将获取的结果保存起来放到列表中。
李>子流程
-
<李>可以很方便的取得命令的输出(包括标准和错误输出)和执行状态位。李>
<李> commands.getoutput (ls)这个方法只返回执行结果结果不返回状态。
提示:子流程模块已经取代了命令
例子:
<强> 1,getstatusoutput 强> ,
<代码>祝辞的在比;导入子流程 在在在状态,结果=subprocess.getstatusoutput (ls) 在在在状态 0 在在在结果 “blog.tar \ ndata \ ndb.sql \ ndead.letter \ nDjangoBlog \ ndjangoblog.log \ nENV \ nfile1 \ nget-pip.py \ nindex.html \ nmanagerblog.sh \ nnginx-1.15.11 \ nPython-3.5.2 \ nstartDjangoBlog.sh \ nstart_uwsgi.ini \ ntest.txt \ nwget-log \ nzrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war ' 在在在result.split (“\ n”) ['博客。沥青”、“数据”、“db。sql”、“死了。信”、“DjangoBlog”、“DjangoBlog。日志”、“ENV”、“file1”、“get-pip。py”、“指数。html”、“managerblog。sh”、“nginx-1.15.11”、“Python-3.5.2”、“startDjangoBlog。sh”、“start_uwsgi。ini”、“测试。txt”、“wget-log”、“zrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war '] 代码>
<强> 2,getoutput 强>
,<代码>祝辞的在比;打印(subprocess.getoutput (ls) .split (' \ n ')) ['博客。沥青”、“数据”、“db。sql”、“死了。信”、“DjangoBlog”、“DjangoBlog。日志”、“ENV”、“file1”、“get-pip。py”、“指数。html”、“managerblog。sh”、“nginx-1.15.11”、“Python-3.5.2”、“startDjangoBlog。sh”、“start_uwsgi。ini”、“测试。txt”、“wget-log”、“zrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war '] 代码>
<强> 3,叫强>
执行命令,返回状态码(命令正常执行返回0,报错则返回1)
<代码>祝辞的在比;subprocess.call (ls) 博客。焦油djangoblog。日志managerblog。sh用法 数据ENV nginx-1.15.11 wget-log db。sql file1 Python-3.5.2 zrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war 死了。get-pip信。py startDjangoBlog.sh DjangoBlog指数。html start_uwsgi.ini 0 代码>李>
<强> 4,check_call 强>
执行命令,如果执行成功则返回状态码0,否则抛异常
<代码>祝辞的在比;subprocess.check_call (ls) 博客。焦油djangoblog。日志managerblog。sh用法 数据ENV nginx-1.15.11 wget-log db。sql file1 Python-3.5.2 zrlog-2.1.3-b5f0d63-release.war ? attname=ROOT.war 死了。get-pip信。py startDjangoBlog.sh DjangoBlog指数。html start_uwsgi.ini 0 在在在子流程。check_call (ls luojun) 回溯(最近的电话): 文件“& lt; stdin>”,1号线& lt; module> 文件“/usr/地方/python3/lib/python3.5/子流程。在check_call py”, 576行 retcode=电话(* popenargs, * * kwargs) 文件“/usr/地方/python3/lib/python3.5/子流程。py”, 557行,在调用 Popen (* popenargs, * * kwargs) p: 文件“/usr/地方/python3/lib/python3.5/子流程。__init__ py”, 947行 restore_signals start_new_session) 文件“/usr/地方/python3/lib/python3.5/子流程。在_execute_child py”, 1551行 提高child_exception_type (errno_num err_msg) FileNotFoundError (Errno 2):没有这样的文件或目录:“ls luojun”python和壳牌的结合与应用