Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #108647 > unrolled thread

Re: intermittent ValueErrors from subprocess

Started byChris Angelico <rosuav@gmail.com>
First post2016-05-16 08:08 +1000
Last post2016-05-16 08:08 +1000
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: intermittent ValueErrors from subprocess Chris Angelico <rosuav@gmail.com> - 2016-05-16 08:08 +1000

#108647 — Re: intermittent ValueErrors from subprocess

FromChris Angelico <rosuav@gmail.com>
Date2016-05-16 08:08 +1000
SubjectRe: intermittent ValueErrors from subprocess
Message-ID<mailman.4.1463350097.19823.python-list@python.org>
On Mon, May 16, 2016 at 1:49 AM, Pavlos Parissis
<pavlos.parissis@gmail.com> wrote:
> I use subprocess.check_output like this:
>
> cmd = [
>     '/sbin/ip',
>     'address',
>     'show',
>     'dev',
>     "{}".format(self.config['interface']),
>     'to',
>     "{}".format(self.config['ip_prefix']),
> ]

Unrelated to your problem: "{}".format(x) is the same as str(x), and
if x is already a string, it does exactly nothing. Most likely you can
just put your configs straight in there.

> try:
>     out = subprocess.check_output(
>         cmd,
>         universal_newlines=True,
>         timeout=1)
> except subprocess.CalledProcessError as error:
>     return True
> except subprocess.TimeoutExpired:
>     return True
> else:
>     if self.config['ip_prefix'] in out:
>         return True
>     else:
>         return False
>
>
> and I get the following exception:
>
> ValueError: Invalid file object: <_io.TextIOWrapper name=11
> encoding='UTF-8'>

Searching the CPython sources for that exception shows one hit:
selectors.py, where it converts a file object to an integer file
descriptor. (You could have helped out by showing us the full
traceback.) Is it possible you were running out of file descriptors,
or in some other way unable to create the pipe?

ChrisA

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web