当前位置: 首页>>代码示例>>Python>>正文


Python os.popen3方法代码示例

本文整理汇总了Python中os.popen3方法的典型用法代码示例。如果您正苦于以下问题:Python os.popen3方法的具体用法?Python os.popen3怎么用?Python os.popen3使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在os的用法示例。


在下文中一共展示了os.popen3方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: popen3

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def popen3(cmd, mode="t", bufsize=-1):
            """Execute the shell command 'cmd' in a sub-process.  On UNIX, 'cmd'
            may be a sequence, in which case arguments will be passed directly to
            the program without shell intervention (as with os.spawnv()).  If 'cmd'
            is a string it will be passed to the shell (as with os.system()). If
            'bufsize' is specified, it sets the buffer size for the I/O pipes.  The
            file objects (child_stdin, child_stdout, child_stderr) are returned."""
            import warnings
            msg = "os.popen3 is deprecated.  Use the subprocess module."
            warnings.warn(msg, DeprecationWarning, stacklevel=2)

            import subprocess
            PIPE = subprocess.PIPE
            p = subprocess.Popen(cmd, shell=isinstance(cmd, basestring),
                                 bufsize=bufsize, stdin=PIPE, stdout=PIPE,
                                 stderr=PIPE, close_fds=True)
            return p.stdin, p.stdout, p.stderr 
开发者ID:glmcdona,项目名称:meddle,代码行数:19,代码来源:os.py

示例2: __call__

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def __call__(self):
        try:
            import subprocess
            p = subprocess.Popen(self.argv,
                                 stdout=subprocess.PIPE,
                                 stderr=subprocess.STDOUT)
            output, _ = p.communicate()
            rc = p.returncode
        except ImportError:
            # py2.3?
            fin, fout, ferr = os.popen3(" ".join(self.argv))
            fin.close()
            output = fout.read() + ferr.read()
            fout.close()
            rc = ferr.close()
        if rc:
            base = os.path.basename(self.argv[1])
            # See if we can detect and reconstruct an exception in the output.
            reconstituted = find_exception_in_output(output)
            if reconstituted is not None:
                raise reconstituted
            raise AssertionError("%s failed with exit code %s.  Output is:\n%s" % (base, rc, output)) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:24,代码来源:testall.py

示例3: wrap_popen3_for_win

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def wrap_popen3_for_win(cygwin_path):
    """Wrap popen3 to support #!-script on Windows.

    Args:
      cygwin_path:  path for cygwin binary if command path is needed to be
                    translated.  None if no translation required.
    """
    __orig_popen3 = os.popen3

    def __wrap_popen3(cmd, mode='t', bufsize=-1):
        cmdline = cmd.split(' ')
        interp = get_script_interp(cmdline[0], cygwin_path)
        if interp:
            cmd = interp + ' ' + cmd
        return __orig_popen3(cmd, mode, bufsize)

    os.popen3 = __wrap_popen3 
开发者ID:googlearchive,项目名称:pywebsocket,代码行数:19,代码来源:util.py

示例4: run_command

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def run_command(self, command, check_output=True):
        """Run a command for this collectd plugin. Returns a tuple with command
        success and output or False and None for output.
        """
        output = None
        try:
            if check_output:
                output = subprocess.check_output(command)
            else:
                stdin, stdout, stderr = os.popen3(' '.join(command))
                output = stdout.read()
        except Exception as exc:
            collectd.error(
                'collectd-ceph-storage: {} exception: {}'.format(command, exc))
            collectd.error(
                'collectd-ceph-storage: {} traceback: {}'
                .format(command, traceback.format_exc()))
            return False, None

        if output is None:
            collectd.error(
                'collectd-ceph-storage: failed to {}: output is None'
                .format(command))
            return False, None
        return True, output 
开发者ID:cloud-bulldozer,项目名称:browbeat,代码行数:27,代码来源:collectd_ceph_storage.py

示例5: start_local_analysis

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def start_local_analysis(file_path, cuckoo_path, kernel_analysis=False, timeout=300):
    command = cuckoo_path+"/utils/submit.py "+file_path+" --timeout "+str(timeout)
    if kernel_analysis != False:
        command = command + " --options kernel_analysis=yes"
    stdin,stdout,stderr = os.popen3(command)
    is_task = 0

    if stdout:
        stdout_line = stdout.read()
    if stderr:
        stderr_line = stderr.read()
   
    log.debug("Local command output STDOUT: "+stdout_line)
    log.debug("Local command output STDERR: "+stderr_line)
    
    if stdout_line != "":
        id_task = int(stdout_line.split(" ")[-1])
    else:
        log.err("Local submit failed, stderr: "+stderr_line)

    return id_task 
开发者ID:conix-security,项目名称:CAAS,代码行数:23,代码来源:misc.py

示例6: log

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def log(self, rev_start=None, rev_end=1, verbose=False):
        """ return a list of LogEntry instances for this path.
rev_start is the starting revision (defaulting to the first one).
rev_end is the last revision (defaulting to HEAD).
if verbose is True, then the LogEntry instances also know which files changed.
"""
        assert self.check()   # make it simpler for the pipe
        rev_start = rev_start is None and "HEAD" or rev_start
        rev_end = rev_end is None and "HEAD" or rev_end
        if rev_start == "HEAD" and rev_end == 1:
                rev_opt = ""
        else:
            rev_opt = "-r %s:%s" % (rev_start, rev_end)
        verbose_opt = verbose and "-v" or ""
        locale_env = fixlocale()
        # some blather on stderr
        auth_opt = self._makeauthoptions()
        #stdin, stdout, stderr  = os.popen3(locale_env +
        #                                   'svn log --xml %s %s %s "%s"' % (
        #                                    rev_opt, verbose_opt, auth_opt,
        #                                    self.strpath))
        cmd = locale_env + 'svn log --xml %s %s %s "%s"' % (
            rev_opt, verbose_opt, auth_opt, self.strpath)

        popen = subprocess.Popen(cmd,
                    stdout=subprocess.PIPE,
                    stderr=subprocess.PIPE,
                    shell=True,
        )
        stdout, stderr = popen.communicate()
        stdout = py.builtin._totext(stdout, sys.getdefaultencoding())
        minidom,ExpatError = importxml()
        try:
            tree = minidom.parseString(stdout)
        except ExpatError:
            raise ValueError('no such revision')
        result = []
        for logentry in filter(None, tree.firstChild.childNodes):
            if logentry.nodeType == logentry.ELEMENT_NODE:
                result.append(LogEntry(logentry))
        return result 
开发者ID:pytest-dev,项目名称:py,代码行数:43,代码来源:svnwc.py

示例7: popen3

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def popen3(cmd, bufsize=-1, mode='t'):
        """Execute the shell command 'cmd' in a sub-process. On UNIX, 'cmd' may
        be a sequence, in which case arguments will be passed directly to the
        program without shell intervention (as with os.spawnv()). If 'cmd' is a
        string it will be passed to the shell (as with os.system()). If
        'bufsize' is specified, it sets the buffer size for the I/O pipes. The
        file objects (child_stdout, child_stdin, child_stderr) are returned."""
        w, r, e = os.popen3(cmd, mode, bufsize)
        return r, w, e 
开发者ID:glmcdona,项目名称:meddle,代码行数:11,代码来源:popen2.py

示例8: threadPycheckerRun

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def threadPycheckerRun(self):
        result=''
        rc=-1
        try:
            options = self.greppattern
            files= ' '.join(self.flist)
            # Recently MarkH has failed to run pychecker without it having 
            # been explicitly installed - so we assume it is and locate it
            # from its default location.
            # Step1 - get python.exe
            py = os.path.join(sys.prefix, 'python.exe')
            if not os.path.isfile(py):
                if "64 bit" in sys.version:
                    py = os.path.join(sys.prefix, 'PCBuild', 'amd64', 'python.exe')
                else:
                    py = os.path.join(sys.prefix, 'PCBuild', 'python.exe')
            try:
                py = win32api.GetShortPathName(py)
            except win32api.error:
                py = ""
            # Find checker.py
            from distutils.sysconfig import get_python_lib
            pychecker = os.path.join(get_python_lib(), 'pychecker', 'checker.py')
            if not os.path.isfile(py):
                result = "Can't find python.exe!\n"
            elif not os.path.isfile(pychecker):
                result = "Can't find checker.py - please install pychecker " \
                         "(or run 'setup.py install' if you have the source version)\n"
            else:
                cmd='%s "%s" %s %s 2>&1' % (py, pychecker, options,files)
                ##fin,fout,ferr=os.popen3(cmd)
                ##result=ferr.read()+fout.read()
                result=os.popen(cmd).read()
                ##rc=f.close()
            self.GetFirstView().Append(result)
        finally:
            self.result=result
            print '== Pychecker run finished =='
            self.GetFirstView().Append('\n'+'== Pychecker run finished ==')
            self.SetModifiedFlag(0) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:42,代码来源:mdi_pychecker.py

示例9: test_os_popen3

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def test_os_popen3(self):
        # same test as test_popen3(), but using the os.popen*() API
        if os.name == 'posix':
            w, r, e = os.popen3([self.cmd])
            self.validate_output(self.teststr, self.expected, r, w, e)

            w, r, e = os.popen3(["echo", self.teststr])
            got = r.read()
            self.assertEqual(got, self.teststr + "\n")
            got = e.read()
            self.assertFalse(got, "unexpected %r on stderr" % got)

        w, r, e = os.popen3(self.cmd)
        self.validate_output(self.teststr, self.expected, r, w, e) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:16,代码来源:test_popen2.py

示例10: test_cp11334

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def test_cp11334(self):
        
        #--Test that not using "# coding ..." results in a warning
        t_in, t_out, t_err = os.popen3(sys.executable + " " + os.path.join(self.test_dir, "encoded_files", "cp11334_warn.py"))
        t_err_lines = t_err.readlines()
        t_out_lines = t_out.readlines()
        t_err.close()
        t_out.close()
        t_in.close()
        
        self.assertEqual(len(t_out_lines), 0)
        self.assertTrue(t_err_lines[0].startswith("  File"))
        self.assertTrue(t_err_lines[1].startswith("SyntaxError: Non-ASCII character '\\xb5' in file"))
        
        #--Test that using "# coding ..." is OK
        t_in, t_out, t_err = os.popen3(sys.executable + " " + os.path.join(self.test_dir, "encoded_files", "cp11334_ok.py"))
        t_err_lines = t_err.readlines()
        t_out_lines = t_out.readlines()
        t_err.close()
        t_out.close()
        t_in.close()
        
        self.assertEqual(len(t_err_lines), 0)
        if not is_cli:
            self.assertEqual(t_out_lines[0], "\xb5ble\n")
        else:
            print "CodePlex 11334"
            self.assertEqual(t_out_lines[0], "\xe6ble\n")
        self.assertEqual(len(t_out_lines), 1)


    #TODO:@skip("multiple_execute") 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:34,代码来源:test_codecs.py

示例11: test_cp1019

# 需要导入模块: import os [as 别名]
# 或者: from os import popen3 [as 别名]
def test_cp1019(self):
        #--Test that bogus encodings fail properly
        t_in, t_out, t_err = os.popen3(sys.executable + " " + os.path.join(self.test_dir, "encoded_files", "cp1019.py"))
        t_err_lines = t_err.readlines()
        t_out_lines = t_out.readlines()
        t_err.close()
        t_out.close()
        t_in.close()
        
        self.assertEqual(len(t_out_lines), 0)
        self.assertTrue(t_err_lines[0].startswith("  File"))
        self.assertTrue(t_err_lines[1].startswith("SyntaxError: encoding problem: with BOM")) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:14,代码来源:test_codecs.py


注:本文中的os.popen3方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。