GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — RustPython/py_code_object/python_compiler/src/python_compiler.rs at master · GS-/RustPython Expand file tree/ Copy pathpython_compiler.rsMore file actions 35 lines (30 loc) · 1.2 KB / Copy pathpython_compiler.rsFile metadata and controls35 lines (30 loc) · 1.2 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 use cpython::Python; use cpython::ObjectProtocol; //for call method use cpython::PyObject; use cpython::PyDict; use python27_sys::PyCodeObject; //pub fn compile() -> PyObject { pub fn compile(){ let gil = Python::acquire_gil(); let py = gil.python(); let locals = PyDict::new(py); // TODO: read the filename from commandline //locals.set_item(py, "filename", "../tests/function.py").unwrap(); let load_file = "\ import os print(os.getcwd()) filename = '../tests/function.py' with open(filename, 'rU') as f:\ code = f.read()\ "; py.run(load_file, None, Some(&locals)).unwrap(); let code = py.eval("compile(code, \"foo\", \"exec\")", None, Some(&locals)).unwrap(); //println!("{:?}", code.getattr(py, "co_name").unwrap()); //println!("{:?}", code.getattr(py, "co_filename").unwrap()); //println!("{:?}", code.getattr(py, "co_code").unwrap()); //println!("{:?}", code.getattr(py, "co_freevars").unwrap()); //println!("{:?}", code.getattr(py, "co_cellvars").unwrap()); println!("{:?}", code.getattr(py, "co_consts").unwrap()); //let consts = code.getattr(py, "co_consts").unwrap(); //println!("{:?}", consts.get_item(py, 0).unwrap().getattr(py, "co_code")); } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |