栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用os.system(“ bash代码”)在Python脚本中调用bash命令是一种好的样式吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用os.system(“ bash代码”)在Python脚本中调用bash命令是一种好的样式吗?

首先,您的示例使用 mv ,它是 coreutils中 的程序,而不是bash。

使用os.system()调用外部程序被认为是较差的样式,因为:

  • 您正在创建特定于平台的依赖项
  • 您正在创建特定于版本的依赖项(是的,有时coreutils有时也会更改!)
  • 您需要检查是否存在外部命令(它们是否在$ PATH中,并且可以由用户执行等)。
  • 您必须使用命令的返回码对命令进行错误检查。使用语言内的错误代码或异常要好得多。(os.system()不允许您解析stdout / stderr)
  • 您必须自己处理带引号的变量(或转义它们)
  • Python已经通过提供库为您完成了工作!

像其他人已经提到的那样,查找 glob ,以进行类似壳的模式匹配(globbing),然后 关闭shutil
。否则,您所需的一切都已经在标准库中。

import globimport shutilfor extfile in glob.glob('*.ext'):    shutil.move(extfile,dest)

另外,不应该使用 os.system() -而是看 一下子 流程 模块。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号