Python中文
首页
教程
问答
标签
搜索
登录
注册
试着/除了显示错误,但我不想
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<pre><code>try: folderSizeInMB= int(subprocess.check_output('du -csh --block-size=1M', shell=True).decode().split()[0]) print('\t\tTotal download progress (MB):\t' + str(folderSizeInMB), end = '\r') except Exception as e: print('\t\tDownloading' + '.'*(loopCount - gv.parallelDownloads + 3), end = '\r') </code></pre> <p>我的脚本中有这段代码,因为由于某种原因,我的unix决定找不到'du'命令。它抛出一个错误<code>/bin/sh: du: command not found</code></p> <p>我对这段代码的希望是,即使我的程序遇到这个错误,它也只会在<code>except</code>块中显示消息并继续运行。但是,它会在<code>except</code>块中显示消息之前打印错误。为什么要这么做?有没有办法抑制<code>try</code>块显示的错误消息</p> <p>谢谢</p> <p>编辑: 我重写代码后,收到如下所示的答案,它的工作。我只需要重写一行:</p> <pre><code>folderSizeInMB= int(subprocess.check_output('du -csh --block-size=1M', shell=True, stederr=subprocess.DEVNULL).decode().split()[0]) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以尝试将stderr重定向为null以防止显示错误</p> <pre><code>import sys class DevNull: def write(self, msg): pass sys.stderr = DevNull() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
8 回答
无法使用Django&Python3.4连接到MySql
2 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
4 回答
无法使用Django1.7和mongodb登录管理站点
4 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
5 回答
无法使用Djangockedi验证CBV中的字段
3 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
2 回答
无法使用Djangofiler djang上载文件
10 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
8 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
1 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
1 回答
无法使用Djangopyodb从Django查询SQL Server
5 回答
无法使用Djangopython3ldap连接到ldap
3 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
5 回答