python代码技巧

sh

python有时使用标准 os 和 subprocess 库会有点棘手, 但是在某些情况下,直接调用shell中的命令,比起自己重新造轮子,可能更加省时,且更加方便,但是我们不能总是使用os.system(your_cmd)来执行,这是可以用sh包

没有的话,

pip install sh

使用方法, 和基本的python函数一样

from sh import *
sh.pwd()
sh.mkdir('new_folder')
sh.touch('new_file.txt')
sh.whoami()
sh.echo('this is awesome')

有时后,from sh import *可能会报错

In [1]: from sh import *                                                                                   
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-1-2d92f8984063> in <module>
----> 1 from sh import *

~/.conda/envs/tf1.14/lib/python3.6/importlib/_bootstrap.py in _handle_fromlist(module, fromlist, import_, recursive)

~/.conda/envs/tf1.14/lib/python3.6/site-packages/sh.py in __getattr__(self, name)
   3347 
   3348     def __getattr__(self, name):
-> 3349         return self.__env[name]
   3350 
   3351     def __call__(self, **kwargs):

~/.conda/envs/tf1.14/lib/python3.6/site-packages/sh.py in __getitem__(self, k)
   3185         if k == "__all__":
   3186             raise RuntimeError("Cannot import * from sh. \
-> 3187 Please import sh or import programs individually.")
   3188 
   3189 

RuntimeError: Cannot import * from sh. Please import sh or import programs individually.

这个时候你可以选择一个个加载

from sh import pwd,mkdir,touch,whoami,echo

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值