标签:

最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput()

源码如下:

def getstatus(file):

"""Return output of "ls -ld " in a string."""

import warnings

warnings.warn("commands.getstatus() is deprecated", DeprecationWarning, 2)

return getoutput(‘ls -ld‘ + mkarg(file))

# Get the output from a shell command into a string.

# The exit status is ignored; a trailing newline is stripped.

# Assume the command will work with ‘{ ... ; } 2>&1‘ around it..

#

def getoutput(cmd):

"""Return output (stdout or stderr) of executing cmd in a shell."""

return getstatusoutput(cmd)[1]

# Ditto but preserving the exit status.

# Returns a pair (sts, output)

#

def getstatusoutput(cmd):

"""Return (status, output) of executing cmd in a shell."""

import os

pipe = os.popen(‘{ ‘ + cmd + ‘; } 2>&1‘, ‘r‘)

text = pipe.read()

sts = pipe.close()

if sts is None: sts = 0

if text[-1:] == ‘\n‘: text = text[:-1]

return sts, text

通过查看以上源码,发现主要使用的是函数getstatusoutput()。

我调用这个函数的时候,每次的执行结果都是:‘{‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

怀疑是getstatusoutput()中的这句话pipe = os.popen(‘{ ‘ + cmd + ‘; } 2>&1‘, ‘r‘)有问题。但是想想这是官网提供的模块,按说不会出现这种问题。

把pipe = os.popen(‘{ ‘ + cmd + ‘; } 2>&1‘, ‘r‘),修改为pipe = os.popen(cmd, ‘r‘),结果执行正确。

不知道是不是pipe = os.popen(‘{ ‘ + cmd + ‘; } 2>&1‘, ‘r‘)这句话引起的问题?有明白的大神给知道下

标签:

python commands执行不连续_python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。...相关推荐

  1. anaconda怎么运行python程序_Anaconda安装指南(#x27;conda#x27; 不是内部或外部命令,也不是可运行的程序 或批处理文件)...

    如果你有标题所说问题,请详细看以下步骤: 第一步:附上软件下载链接,自行下载 Anaconda Python/R Distribution - Free Download​www.anaconda.c ...

  2. cmd中XX不是不是内部或外部命令,也不是可运行的程序 或批处理文件

  3. 解决python调用 ffmpeg时 ‘ffmpeg‘ 不是内部或外部命令,也不是可运行的程序

    解决 python 调用 ffmpeg时 'ffmpeg' 不是内部或外部命令,也不是可运行的程序 在windows系统下, 我们使用windows下,使用ffmpeg库调用FFmpeg工具来提取视频 ...

  4. 在cmd中输入cat命令时提示:cat不是内部命令或者外部命令也不是可运行的程序或批处理文件

    cat是Linux系统专有的命令,在Dos里没有cat这个命令- 解决方案:用Windows批处理命令type代替cat Linux cat命令

  5. python cookies是什么_Python中的Cookie模块有什么功能?

    Cookie 模块,顾名思义,就是用来操作Cookie的模块. Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保持会话时用到的信息 切片. Http协议本身是无状态的,也 ...

  6. 解决cmd中,javac提示:javac不是内部或外部命令,但是运行java、java-version正常的问题

    没什么其他原因,要不就是你安装JDK不完整,要不就是你配置环境变量错误. 配置环境变量: 1.新建一个系统变量. 变量名:JAVA_HOME 变量值:D:\Java 其中变量名可以随便你写,变量值必须 ...

  7. windows环境中,pm2不是内部或外部命令的解决方案

    windows环境中,pm2下载成功后却显示不是内部或外部命令解决方法 一开始遇见这种情况很是头疼,百度了很多pm2下载成功却显示不是内部命令的原因,结果都不尽人意,没有解决:于是我就在想安装成功后不 ...

  8. Windows中telnet不是内部或外部命令解决方法

    所遇场景 telnet是windows一个cmd命令,我们可以使用telnet来测试应用端口号是否正常,telnet和ping命令性质一样,可以用来测试应用的连通性.在查看某个端口号是否关闭的情况下也 ...

  9. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  10. bash 不是内部或外部命令_Python安装时提示“Python不是内部或外部命令...”解决方法...

    在Python安装时,我们可能会遇到在 cmd 命令行窗口输入Python命令后,显示"Python不是内部或外部命令,也不是可运行的程序或批处理文件". 出现问题的原因是因为在当 ...

最新文章

  1. 更新源列表及设置方法
  2. js title 单选框 获取_js简单获取表单中单选按钮值的方法
  3. 可视化神经机器翻译模型(基于注意力机制的Seq2seq模型)
  4. 用XInput库使用xbox360手柄
  5. 如何测试程序是否_软件开发过程中,如何进行自动化测试?Unit Test 和 UI Test
  6. 160 - 23 Chafe.1
  7. Delphi XE5教程4:程序和单元概述
  8. traceroute命令原理
  9. C/C++ 控制台输入
  10. 微信小程序/js上传图片值腾讯云cos
  11. pycharm导入依赖包
  12. 《XTWJ自强不息十月纯净版》ISO下载
  13. CwRsync安装配置
  14. 文献阅读--Scaling Laws for Neural Lauguage Models
  15. 安装office 错误代码:30068-39
  16. 光滑噪声数据常用的方法_几种常见的数据变换方法
  17. it行业 平均年龄_IT行业一线员工现状调查报告
  18. matlab hanning和hann,哪位大侠能告知——为什么在MATLAB2012中不能调研(汉宁)窗函...
  19. 排球-五一跑位(转)
  20. 苹果8黑屏无法强制开机_【维修案例】苹果xsmax黑屏死机不开机,如何解决?!...

热门文章

  1. ipsec在企业网中的应用(IKE野蛮模式)(转)
  2. 网页中,列表数据的分页加载、自动加载
  3. Android课程---如何用网格视图做出手机桌面APP
  4. Android ImageButton单击切换按钮图片效果
  5. svn利用钩子post-commit自动更新到线上测试服务器
  6. 在开发iOS程序时对日期处理的总结
  7. 买麦网重要域名遭抢注 质疑遭受阿里巴巴干扰
  8. [Liferay6.2]Liferay Dynamic Query API示例
  9. 使用openssl模拟CA和CA证书的签发
  10. Zabbix 3.0安装