python - IPython 的高性能替代品!shell-command 魔法
问题描述
在 Google Colab 上,使用:
! shell-command
非常slooooooooooooooooooooooow。
这是一个测试:
import os
%timeit os.system('date > /dev/null')
%timeit ! date > /dev/null
给出输出:
100 loops, best of 3: 8.58 ms per loop
1 loop, best of 3: 1.56 s per loop
这使得使用比使用简单命令! command
慢 180 倍。system()
如何避免使用! command
,同时仍将 stdout / stderr 实时写入输出单元?
特别是,我希望能够wget
在单个屏幕行上显示动态进度条之类的内容,但我会接受一种解决方案,该解决方案将为每个进度条更新写出一个新行。
解决方案
你可以试试subprocess.check_output
。它的工作原理类似于!
,但您需要先将命令拆分为数组。
推荐阅读
- ceph - 95% 的存储消耗后,Ceph 集群中的 1/3 OSD 下降
- html - 如何将所有标题元素设置为字体系列,但使用 SCSS 单独更改每个字体大小?
- python-3.x - 如何将我的 fastapi 请求标头操作为可变的
- reactjs - ReactJS 在我的嵌套迭代器中没有显示
- python - 如何使用正则表达式过滤删除某些数据框列,但保留包含某些字符的其他列?
- javascript - 基于真/假值的文本颜色
- java - JPA + Hibernate:如何将数组绑定与 CriteriaBuilder 一起使用,即使最终查询类似于“... in (?)”,而不是“... in (?, ?, ?)”?
- node.js - Nodemon不使用express在docker中更改时重新加载文件
- tableau-api - 查找的替代方案
- r - 这是如何错误的参数数量?