org.python.core
Class PyFile

java.lang.Object
  extended by org.python.core.PyObject
      extended by org.python.core.PyFile
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
PyFileDerived

public class PyFile
extends PyObject

The Python file type. Wraps an TextIOBase object.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
 String encoding
           
 String mode
          The mode string
 PyObject name
          The filename
 boolean softspace
          Indicator dictating whether a space should be written to this file on the next print statement (not currently implemented in print )
static PyType TYPE
           
 
Constructor Summary
PyFile()
           
PyFile(InputStream istream)
           
PyFile(InputStream istream, int bufsize)
          Creates a file object wrapping the given InputStream.
PyFile(InputStream istream, String name, String mode, int bufsize, boolean closefd)
           
PyFile(OutputStream ostream)
           
PyFile(OutputStream ostream, int bufsize)
          Creates a file object wrapping the given OutputStream.
PyFile(PyType subType)
           
PyFile(RawIOBase raw, String name, String mode, int bufsize)
           
PyFile(String name, String mode, int bufsize)
           
 
Method Summary
 PyObject __enter__()
           
 void __exit__(PyObject type, PyObject value, PyObject traceback)
           
 PyObject __iter__()
          Return an iterator that is used to iterate the element of this sequence.
 PyObject __iternext__()
          Return the next element of the sequence that this is an iterator for.
 Object __tojava__(Class<?> cls)
          Equivalent to the Jython __tojava__ method.
 void close()
           
 void delSoftspace()
           
 PyObject fileno()
           
 void flush()
           
 boolean getClosed()
           
 PyObject getNewlines()
           
 PyObject getSoftspace()
           
 boolean isatty()
           
 PyObject next()
           
 PyString read()
           
 PyString read(int size)
           
 int readinto(PyObject buf)
           
 PyString readline()
           
 PyString readline(int max)
           
 PyObject readlines()
           
 PyObject readlines(int sizehint)
           
 void seek(long pos)
           
 void seek(long pos, int how)
           
 void setSoftspace(PyObject obj)
           
 long tell()
           
 String toString()
           
 void truncate()
           
 void truncate(long position)
           
 void write(String string)
           
 void writelines(PyObject lines)
           
 PyObject xreadlines()
           
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, setDict, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final PyType TYPE

name

public PyObject name
The filename


mode

public String mode
The mode string


encoding

public String encoding

softspace

public boolean softspace
Indicator dictating whether a space should be written to this file on the next print statement (not currently implemented in print )

Constructor Detail

PyFile

public PyFile()

PyFile

public PyFile(PyType subType)

PyFile

public PyFile(RawIOBase raw,
              String name,
              String mode,
              int bufsize)

PyFile

public PyFile(InputStream istream,
              String name,
              String mode,
              int bufsize,
              boolean closefd)

PyFile

public PyFile(InputStream istream,
              int bufsize)
Creates a file object wrapping the given InputStream. The builtin method file doesn't expose this functionality (open does albeit deprecated) as it isn't available to regular Python code. To wrap an InputStream in a file from Python, use FileUtil.wrap(InputStream, int) FileUtil.wrap(InputStream)


PyFile

public PyFile(InputStream istream)

PyFile

public PyFile(OutputStream ostream,
              int bufsize)
Creates a file object wrapping the given OutputStream. The builtin method file doesn't expose this functionality (open does albeit deprecated) as it isn't available to regular Python code. To wrap an OutputStream in a file from Python, use FileUtil.wrap(OutputStream, int) FileUtil.wrap(OutputStream)


PyFile

public PyFile(OutputStream ostream)

PyFile

public PyFile(String name,
              String mode,
              int bufsize)
Method Detail

read

public PyString read(int size)

read

public PyString read()

readinto

public int readinto(PyObject buf)

readline

public PyString readline(int max)

readline

public PyString readline()

readlines

public PyObject readlines(int sizehint)

readlines

public PyObject readlines()

__iternext__

public PyObject __iternext__()
Description copied from class: PyObject
Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.

Overrides:
__iternext__ in class PyObject

next

public PyObject next()

__enter__

public PyObject __enter__()

__iter__

public PyObject __iter__()
Description copied from class: PyObject
Return an iterator that is used to iterate the element of this sequence. From version 2.2, this method is the primary protocol for looping over sequences.

If a PyObject subclass should support iteration based in the __finditem__() method, it must supply an implementation of __iter__() like this:

 public PyObject __iter__() {
     return new PySequenceIter(this);
 }
 
When iterating over a python sequence from java code, it should be done with code like this:
 for (PyObject item : seq.asIterable()) {
     // Do somting with item
 }
 

Overrides:
__iter__ in class PyObject

xreadlines

public PyObject xreadlines()

write

public void write(String string)

writelines

public void writelines(PyObject lines)

tell

public long tell()

seek

public void seek(long pos,
                 int how)

seek

public void seek(long pos)

flush

public void flush()

close

public void close()

__exit__

public void __exit__(PyObject type,
                     PyObject value,
                     PyObject traceback)

truncate

public void truncate(long position)

truncate

public void truncate()

isatty

public boolean isatty()

fileno

public PyObject fileno()

toString

public String toString()
Overrides:
toString in class PyObject

getClosed

public boolean getClosed()

getNewlines

public PyObject getNewlines()

getSoftspace

public PyObject getSoftspace()

setSoftspace

public void setSoftspace(PyObject obj)

delSoftspace

public void delSoftspace()

__tojava__

public Object __tojava__(Class<?> cls)
Description copied from class: PyObject
Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object Py.NoConversion if this PyObject can not be converted to the desired Java class.

Overrides:
__tojava__ in class PyObject
Parameters:
cls - the Class to convert this PyObject to.


Jython homepage