Would someone point me to a better example of redirection stdio-
so that I don't need to do this?
proc = conn.modules.subprocess.Popen("ls", stdout = -1, stderr =
-1)stdout, stderr = proc.communicate()print stdout.split()
http://rpyc.readthedocs.org/en/latest/docs/classic.html#classic
If we are running a script on another machine, having to do
stdout, stderr = proc.communicate()print stdout.split()
is not very helpful.
Ideally, what the user experiences on the remote machine, should
be seen on the local machine.
For some reason,
proc = conn.modules.subprocess.Popen("ls", stdout = sys.stdout, stderr
= sys.stdin)
causes a terrible exception.
I don't understand this
>>>
proc=conn.modules.subprocess.Popen("dir",stdout=sys.stdout,stderr=sys.stderr)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\Lib\site-packages\rpyc\core\netref.py", line 196, in
__call__
return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
File "C:\Python27\Lib\site-packages\rpyc\core\netref.py", line 71, in
syncreq
return conn.sync_request(handler, oid, *args)
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 441, in
sync_request
raise obj
AttributeError: 'file' object has no attribute '__eq__'
========= Remote Traceback (2) =========
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 305, in
_dispatch_request
res = self._HANDLERS[handler](self, *args)
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 535, in
_handle_call
return self._local_objects[oid](*args, **dict(kwargs))
File "C:\Python27\lib\subprocess.py", line 701, in __init__
errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr)
File "C:\Python27\lib\subprocess.py", line 842, in _get_handles
elif stdout == PIPE:
File "C:\Python27\Lib\site-packages\rpyc\core\netref.py", line 210, in
method
return syncreq(_self, consts.HANDLE_CALLATTR, name, args, kwargs)
File "C:\Python27\Lib\site-packages\rpyc\core\netref.py", line 71, in
syncreq
return conn.sync_request(handler, oid, *args)
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 441, in
sync_request
raise obj
AttributeError: 'file' object has no attribute '__eq__'
========= Remote Traceback (1) =========
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 305, in
_dispatch_request
res = self._HANDLERS[handler](self, *args)
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 547, in
_handle_callattr
return self._handle_getattr(oid, name)(*args, **dict(kwargs))
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 541, in
_handle_getattr
return self._access_attr(oid, name, (), "_rpyc_getattr",
"allow_getattr", getattr)
File "C:\Python27\Lib\site-packages\rpyc\core\protocol.py", line 507, in
_access_attr
return accessor(obj, name, *args)
AttributeError: 'file' object has no attribute '__eq__'
--
---
You received this message because you are subscribed to the Google Groups
"rpyc" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.