615
查看python os.popen close:IOError的源代码
python os.popen close:IOError
0
←
python os.popen close:IOError
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你被禁止执行你刚才请求的操作。
您可以查看并复制此页面的源代码:
前提:手机未连上adb 版本: <pre> F:\W\MP\trunk\python> python --version Python 2.7.3 </pre> 执行如下脚本: <pre class="prettyprint"> import os import traceback fout = os.popen("adb shell ls /system/bin/abcd") fout.close() print 'hello' </pre> ==> <pre> F:\W\MP\trunk\python> python pytest.py Traceback (most recent call last): File "pytest.py", line 5, in <module> fout.close() IOError: [Errno 0] Error </pre> <br> 对IOError进行catch后,虽也会抛出异常,但被catch后不会影响脚本的运行: <pre class="prettyprint"> import os import traceback try: fout = os.popen("adb shell ls /system/bin/abcd") fout.close() except IOError: #traceback.print_exc() pass print 'hello' </pre> ==> <pre> F:\W\MP\trunk\python> python pytest.py hello </pre> 原因:python的一个bug,即当os.popen执行任务失败,返回负数时,在close时会抛出上述异常: http://bugs.python.org/issue602245 另外,现在也不建议用os.popen,推荐使用 subprocess: http://www.gossamer-threads.com/lists/python/bugs/615568?do=post_view_threaded#615568
返回
python os.popen close:IOError
。
导航菜单
个人工具
   
个人维基
注册
登录
名字空间
页面
变换
查看
阅读
查看源代码
统计
查看历史
操作
搜索
导航
首页
Ubuntu
Android
C&CPP
Java
Python
大杂烩
最近更改
工具箱
所有页面
文件列表
特殊页面