Class PySystemState

java.lang.Object
org.python.core.PyObject
org.python.core.PySystemState
All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, ClassDictInit, Traverseproc

public class PySystemState extends PyObject implements AutoCloseable, ClassDictInit, Closeable, Traverseproc
The "sys" module.
See Also:
  • Field Details

    • JYTHON_JAR

      public static final String JYTHON_JAR
      See Also:
    • JYTHON_DEV_JAR

      public static final String JYTHON_DEV_JAR
      See Also:
    • version

      public static final PyString version
    • subversion

      public static final PyTuple subversion
    • hexversion

      public static final int hexversion
    • version_info

      public static final PyVersionInfo version_info
    • maxunicode

      public static final int maxunicode
      See Also:
    • maxsize

      public static final int maxsize
      See Also:
    • float_repr_style

      public static final PyString float_repr_style
    • py3kwarning

      public static boolean py3kwarning
    • flags

      public static final Class flags
    • _git

      public static final PyTuple _git
    • builtin_module_names

      public static PyTuple builtin_module_names
    • packageManager

      public static PackageManager packageManager
    • registry

      public static Properties registry
    • prefix

      public static PyObject prefix
      A string giving the site-specific directory prefix where the platform independent Python files are installed; by default, this is based on the property python.home or the location of the Jython JAR. The main collection of Python library modules is installed in the directory prefix/Lib. This object should contain bytes in the file system encoding for consistency with use in the standard library (see sysconfig.py).
    • exec_prefix

      public static PyObject exec_prefix
      A string giving the site-specific directory prefix where the platform-dependent Python files are installed; by default, this is the same as exec_prefix. This object should contain bytes in the file system encoding for consistency with use in the standard library (see sysconfig.py).
    • byteorder

      public static final PyString byteorder
    • maxint

      public static final int maxint
      See Also:
    • minint

      public static final int minint
      See Also:
    • argv

      public PyList argv
      The arguments passed to this program on the command line.
    • modules

      public PyObject modules
    • modules_reloading

      public Map<String,PyModule> modules_reloading
    • path

      public PyList path
    • warnoptions

      public PyList warnoptions
    • builtins

      public PyObject builtins
    • platform

      public PyObject platform
    • meta_path

      public PyList meta_path
    • path_hooks

      public PyList path_hooks
    • path_importer_cache

      public PyObject path_importer_cache
    • ps1

      public PyObject ps1
    • ps2

      public PyObject ps2
    • executable

      public PyObject executable
    • stdout

      public PyObject stdout
    • stderr

      public PyObject stderr
    • stdin

      public PyObject stdin
    • __stdout__

      public PyObject __stdout__
    • __stderr__

      public PyObject __stderr__
    • __stdin__

      public PyObject __stdin__
    • __displayhook__

      public PyObject __displayhook__
    • __excepthook__

      public PyObject __excepthook__
    • last_value

      public PyObject last_value
    • last_type

      public PyObject last_type
    • last_traceback

      public PyObject last_traceback
    • __name__

      public PyObject __name__
    • __dict__

      public PyObject __dict__
    • dont_write_bytecode

      public boolean dont_write_bytecode
      Whether bytecode should be written to disk on import.
    • float_info

      public static final PyObject float_info
    • long_info

      public static final PyObject long_info
  • Constructor Details

    • PySystemState

      public PySystemState()
  • Method Details

    • classDictInit

      public static void classDictInit(PyObject dict)
    • shadow

      @Deprecated public void shadow()
      Deprecated.
    • getDefaultBuiltins

      public static PyObject getDefaultBuiltins()
    • getBuiltins

      public PyObject getBuiltins()
    • setBuiltins

      public void setBuiltins(PyObject value)
    • getWarnoptions

      public PyObject getWarnoptions()
    • setWarnoptions

      public void setWarnoptions(PyObject value)
    • getPlatform

      public PyObject getPlatform()
    • setPlatform

      public void setPlatform(PyObject value)
    • getwindowsversion

      public org.python.core.WinVersion getwindowsversion()
    • getCodecState

      public codecs.CodecState getCodecState()
    • getImportLock

      public ReentrantLock getImportLock()
    • getSyspathJavaLoader

      public ClassLoader getSyspathJavaLoader()
    • __findattr_ex__

      public PyObject __findattr_ex__(String name)
      Description copied from class: PyObject
      Attribute lookup hook. If the attribute is not found, null may be returned or a Py.AttributeError can be thrown, whatever is more correct, efficient and/or convenient for the implementing class. Client code should use PyObject.__getattr__(String) or PyObject.__findattr__(String). Both methods have a clear policy for failed lookups.
      Overrides:
      __findattr_ex__ in class PyObject
      Returns:
      The looked up value. May return null if the attribute is not found
    • __setattr__

      public void __setattr__(String name, PyObject value)
      Description copied from class: PyObject
      A variant of the __setattr__ method which accepts a String as the key. This String must be interned.
      Overrides:
      __setattr__ in class PyObject
      Parameters:
      name - the name whose value will be set - must be an interned string .
      value - the value to set this name to
      See Also:
    • __delattr__

      public void __delattr__(String name)
      Description copied from class: PyObject
      A variant of the __delattr__ method which accepts a String as the key. This String must be interned. By default, this will call __delattr__(PyString name) with the appropriate args. The only reason to override this method is for performance.
      Overrides:
      __delattr__ in class PyObject
      Parameters:
      name - the name which will be removed - must be an interned string .
      See Also:
    • __rawdir__

      public void __rawdir__(PyDictionary accum)
    • toString

      public String toString()
      Overrides:
      toString in class PyObject
    • getrecursionlimit

      public int getrecursionlimit()
    • setrecursionlimit

      public void setrecursionlimit(int recursionlimit)
    • gettrace

      public PyObject gettrace()
    • settrace

      public void settrace(PyObject tracefunc)
    • getprofile

      public PyObject getprofile()
    • setprofile

      public void setprofile(PyObject profilefunc)
    • getdefaultencoding

      public PyString getdefaultencoding()
    • setdefaultencoding

      public void setdefaultencoding(String encoding)
    • getfilesystemencoding

      public PyObject getfilesystemencoding()
    • getcheckinterval

      public PyInteger getcheckinterval()
    • setcheckinterval

      public void setcheckinterval(int interval)
    • setCurrentWorkingDir

      public void setCurrentWorkingDir(String path)
      Change the current working directory to the specified path. path is assumed to be absolute and canonical (via os.path.realpath).
      Parameters:
      path - a path String
    • getCurrentWorkingDir

      public String getCurrentWorkingDir()
      Return a string representing the current working directory.
      Returns:
      a path String
    • getPath

      public String getPath(String path)
      Resolve a path. Returns the full path taking the current working directory into account.
      Parameters:
      path - a path String
      Returns:
      a resolved path String
    • getPathLazy

      public static String getPathLazy(String path)
      Resolve a path. Returns the full path taking the current working directory into account. Like getPath but called statically. The current PySystemState is only consulted for the current working directory when it's necessary (when the path is relative).
      Parameters:
      path - a path String
      Returns:
      a resolved path String
    • getFile

      public File getFile(String path)
      Resolve a path, returning a File, taking the current working directory into account.
      Parameters:
      path - a path String
      Returns:
      a resolved File
    • callExitFunc

      public void callExitFunc() throws PyIgnoreMethodTag
      Throws:
      PyIgnoreMethodTag
    • getClassLoader

      public ClassLoader getClassLoader()
    • setClassLoader

      public void setClassLoader(ClassLoader classLoader)
    • getNativePlatform

      public static String getNativePlatform()
      Emulates CPython's way to name sys.platform. Works according to this table:
      Platform names
      System Value
      Linux (2.x and 3.x) linux2
      Windows win32
      Windows/Cygwin cygwin
      Mac OS X darwin
      OS/2 os2
      OS/2 EMX os2emx
      RiscOS riscos
      AtheOS atheos
    • getBaseProperties

      public static Properties getBaseProperties()
    • initialize

      public static void initialize()
    • initialize

      public static void initialize(Properties preProperties, Properties postProperties)
    • initialize

      public static void initialize(Properties preProperties, Properties postProperties, String[] argv)
    • initialize

      public static void initialize(Properties preProperties, Properties postProperties, String[] argv, ClassLoader classLoader)
    • initialize

      public static void initialize(Properties preProperties, Properties postProperties, String[] argv, ClassLoader classLoader, ExtensiblePyObjectAdapter adapter)
    • doInitialize

      public static PySystemState doInitialize(Properties preProperties, Properties postProperties, String[] argv, ClassLoader classLoader, ExtensiblePyObjectAdapter adapter)
    • isPackageCacheEnabled

      public static boolean isPackageCacheEnabled()
    • getBuiltin

      public static String getBuiltin(String name)
    • add_package

      public static PyJavaPackage add_package(String n)
    • add_package

      public static PyJavaPackage add_package(String n, String contents)
    • add_classdir

      public static void add_classdir(String directoryPath)
      Add a classpath directory to the list of places that are searched for java packages.

      Note. Classes found in directory and sub-directory are not made available to jython by this call. It only makes the java package found in the directory available. This call is mostly useful if jython is embedded in an application that deals with its own class loaders. A servlet container is a very good example. Calling add_classdir("<context>/WEB-INF/classes") makes the java packages in WEB-INF classes available to jython import. However the actual class loading is completely handled by the servlet container's context classloader.

    • add_extdir

      public static void add_extdir(String directoryPath)
      Add a .jar and .zip directory to the list of places that are searched for java .jar and .zip files. The .jar and .zip files found will not be cached.

      Note. Classes in .jar and .zip files found in the directory are not made available to jython by this call. See the note for add_classdir(dir) for more details.

      Parameters:
      directoryPath - The name of a directory.
      See Also:
    • add_extdir

      public static void add_extdir(String directoryPath, boolean cache)
      Add a .jar and .zip directory to the list of places that are searched for java .jar and .zip files.

      Note. Classes in .jar and .zip files found in the directory are not made available to jython by this call. See the note for add_classdir(dir) for more details.

      Parameters:
      directoryPath - The name of a directory.
      cache - Controls if the packages in the zip and jar file should be cached.
      See Also:
    • exit

      public static void exit(PyObject status)
      Exit a Python program with the given status.
      Parameters:
      status - the value to exit with
      Throws:
      PyException - SystemExit always throws this exception. When caught at top level the program will exit.
    • exit

      public static void exit()
      Exit a Python program with the status 0.
    • exc_info

      public static PyTuple exc_info()
    • exc_clear

      public static void exc_clear()
    • _getframe

      public static PyFrame _getframe()
    • _getframe

      public static PyFrame _getframe(int depth)
    • _current_frames

      public static PyDictionary _current_frames()
    • registerCloser

      public void registerCloser(Callable<Void> resourceCloser)
    • unregisterCloser

      public boolean unregisterCloser(Callable<Void> resourceCloser)
    • cleanup

      public void cleanup()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • getSystemVersionString

      public static String getSystemVersionString()
      Attempt to find the OS version. The mechanism on Windows is to extract it from the result of cmd.exe /C ver, and otherwise (assumed Unix-like OS) to use uname -v</code>.
    • traverse

      public int traverse(Visitproc visit, Object arg)
      Description copied from interface: Traverseproc
      Traverses all directly contained PyObjects. Like in CPython, arg must be passed unmodified to visit as its second parameter. If Visitproc.visit(PyObject, Object) returns nonzero, this return value must be returned immediately by traverse. Visitproc.visit(PyObject, Object) must not be called with a null PyObject-argument.
      Specified by:
      traverse in interface Traverseproc
    • refersDirectlyTo

      public boolean refersDirectlyTo(PyObject ob)
      Description copied from interface: Traverseproc
      Optional operation. Should only be implemented if it is more efficient than calling Traverseproc.traverse(Visitproc, Object) with a visitproc that just watches out for ob. Must return false if ob is null.
      Specified by:
      refersDirectlyTo in interface Traverseproc