mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
Added __doc__ for sys module
This commit is contained in:
1 parent
3dc2ab979d
commit
61cbb49647
4 files changed
+76
-4
No files matched your search
@@ -7,3 +7,4 @@ __pycache__
|
||||
.repl_history.txt
|
||||
.vscode
|
||||
wasm-pack.log
|
||||
.idea/
|
||||
@@ -0,0 +1,5 @@
|
||||
import sys
|
||||
|
||||
print(sys.argv)
|
||||
assert sys.argv[0].endswith('.py')
|
||||
assert sys.__doc__ == "This module provides access to some objects used or maintained by the\ninterpreter and to functions that interact strongly with the interpreter.\n\nDynamic objects:\n\nargv -- command line arguments; argv[0] is the script pathname if known\npath -- module search path; path[0] is the script directory, else ''\nmodules -- dictionary of loaded modules\n\ndisplayhook -- called to show results in an interactive session\nexcepthook -- called to handle any uncaught exception other than SystemExit\n To customize printing in an interactive session or to install a custom\n top-level exception handler, assign other functions to replace these.\n\nstdin -- standard input file object; used by input()\nstdout -- standard output file object; used by print()\nstderr -- standard error object; used for error messages\n By assigning other file objects (or objects that behave like files)\n to these, it is possible to redirect all of the interpreter's I/O.\n\nlast_type -- type of last uncaught exception\nlast_value -- value of last uncaught exception\nlast_traceback -- traceback of last uncaught exception\n These three are only available in an interactive session after a\n traceback has been printed.\n\nStatic objects:\n\nbuiltin_module_names -- tuple of module names built into this interpreter\ncopyright -- copyright notice pertaining to this interpreter\nexec_prefix -- prefix used to find the machine-specific Python library\nexecutable -- absolute path of the executable binary of the Python interpreter\nfloat_info -- a struct sequence with information about the float implementation.\nfloat_repr_style -- string indicating the style of repr() output for floats\nhash_info -- a struct sequence with information about the hash algorithm.\nhexversion -- version information encoded as a single integer\nimplementation -- Python implementation information.\nint_info -- a struct sequence with information about the int implementation.\nmaxsize -- the largest supported length of containers.\nmaxunicode -- the value of the largest Unicode code point\nplatform -- platform identifier\nprefix -- prefix used to find the Python library\nthread_info -- a struct sequence with information about the thread implementation.\nversion -- the version of this interpreter as a string\nversion_info -- version information as a named tuple\n__stdin__ -- the original stdin; don't touch!\n__stdout__ -- the original stdout; don't touch!\n__stderr__ -- the original stderr; don't touch!\n__displayhook__ -- the original displayhook; don't touch!\n__excepthook__ -- the original excepthook; don't touch!\n\nFunctions:\n\ndisplayhook() -- print an object to the screen, and save it in builtins._\nexcepthook() -- print an exception and its traceback to sys.stderr\nexc_info() -- return thread-safe information about the current exception\nexit() -- exit the interpreter by raising SystemExit\ngetdlopenflags() -- returns flags to be used for dlopen() calls\ngetprofile() -- get the global profiling function\ngetrefcount() -- return the reference count for an object (plus one :-)\ngetrecursionlimit() -- return the max recursion depth for the interpreter\ngetsizeof() -- return the size of an object in bytes\ngettrace() -- get the global debug tracing function\nsetcheckinterval() -- control how often the interpreter checks for events\nsetdlopenflags() -- set the flags to be used for dlopen() calls\nsetprofile() -- set the global profiling function\nsetrecursionlimit() -- set the max recursion depth for the interpreter\nsettrace() -- set the global debug tracing function\n"
|
||||
@@ -1,4 +0,0 @@
|
||||
import sys
|
||||
|
||||
print(sys.argv)
|
||||
assert sys.argv[0].endswith('.py')
|
||||
@@ -53,6 +53,75 @@ pub fn mk_module(ctx: &PyContext) -> PyObjectRef {
|
||||
let modules = ctx.new_dict();
|
||||
|
||||
let sys_name = "sys";
|
||||
let sys_doc = "This module provides access to some objects used or maintained by the
|
||||
interpreter and to functions that interact strongly with the interpreter.
|
||||
|
||||
Dynamic objects:
|
||||
|
||||
argv -- command line arguments; argv[0] is the script pathname if known
|
||||
path -- module search path; path[0] is the script directory, else ''
|
||||
modules -- dictionary of loaded modules
|
||||
|
||||
displayhook -- called to show results in an interactive session
|
||||
excepthook -- called to handle any uncaught exception other than SystemExit
|
||||
To customize printing in an interactive session or to install a custom
|
||||
top-level exception handler, assign other functions to replace these.
|
||||
|
||||
stdin -- standard input file object; used by input()
|
||||
stdout -- standard output file object; used by print()
|
||||
stderr -- standard error object; used for error messages
|
||||
By assigning other file objects (or objects that behave like files)
|
||||
to these, it is possible to redirect all of the interpreter's I/O.
|
||||
|
||||
last_type -- type of last uncaught exception
|
||||
last_value -- value of last uncaught exception
|
||||
last_traceback -- traceback of last uncaught exception
|
||||
These three are only available in an interactive session after a
|
||||
traceback has been printed.
|
||||
|
||||
Static objects:
|
||||
|
||||
builtin_module_names -- tuple of module names built into this interpreter
|
||||
copyright -- copyright notice pertaining to this interpreter
|
||||
exec_prefix -- prefix used to find the machine-specific Python library
|
||||
executable -- absolute path of the executable binary of the Python interpreter
|
||||
float_info -- a struct sequence with information about the float implementation.
|
||||
float_repr_style -- string indicating the style of repr() output for floats
|
||||
hash_info -- a struct sequence with information about the hash algorithm.
|
||||
hexversion -- version information encoded as a single integer
|
||||
implementation -- Python implementation information.
|
||||
int_info -- a struct sequence with information about the int implementation.
|
||||
maxsize -- the largest supported length of containers.
|
||||
maxunicode -- the value of the largest Unicode code point
|
||||
platform -- platform identifier
|
||||
prefix -- prefix used to find the Python library
|
||||
thread_info -- a struct sequence with information about the thread implementation.
|
||||
version -- the version of this interpreter as a string
|
||||
version_info -- version information as a named tuple
|
||||
__stdin__ -- the original stdin; don't touch!
|
||||
__stdout__ -- the original stdout; don't touch!
|
||||
__stderr__ -- the original stderr; don't touch!
|
||||
__displayhook__ -- the original displayhook; don't touch!
|
||||
__excepthook__ -- the original excepthook; don't touch!
|
||||
|
||||
Functions:
|
||||
|
||||
displayhook() -- print an object to the screen, and save it in builtins._
|
||||
excepthook() -- print an exception and its traceback to sys.stderr
|
||||
exc_info() -- return thread-safe information about the current exception
|
||||
exit() -- exit the interpreter by raising SystemExit
|
||||
getdlopenflags() -- returns flags to be used for dlopen() calls
|
||||
getprofile() -- get the global profiling function
|
||||
getrefcount() -- return the reference count for an object (plus one :-)
|
||||
getrecursionlimit() -- return the max recursion depth for the interpreter
|
||||
getsizeof() -- return the size of an object in bytes
|
||||
gettrace() -- get the global debug tracing function
|
||||
setcheckinterval() -- control how often the interpreter checks for events
|
||||
setdlopenflags() -- set the flags to be used for dlopen() calls
|
||||
setprofile() -- set the global profiling function
|
||||
setrecursionlimit() -- set the max recursion depth for the interpreter
|
||||
settrace() -- set the global debug tracing function
|
||||
";
|
||||
let sys_mod = ctx.new_module(&sys_name, ctx.new_scope(None));
|
||||
|
||||
ctx.set_item(&modules, sys_name, sys_mod.clone());
|
||||
@@ -65,6 +134,7 @@ pub fn mk_module(ctx: &PyContext) -> PyObjectRef {
|
||||
ctx.set_item(&sys_mod, "path", path);
|
||||
ctx.set_item(&sys_mod, "ps1", ctx.new_str(">>>>> ".to_string()));
|
||||
ctx.set_item(&sys_mod, "ps2", ctx.new_str("..... ".to_string()));
|
||||
ctx.set_item(&sys_mod, "__doc__", ctx.new_str(sys_doc.to_string()));
|
||||
ctx.set_item(&sys_mod, "_getframe", ctx.new_rustfunc(getframe));
|
||||
|
||||
sys_mod
|
||||
|
||||
Reference in new issue
Block a user