GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — RustPython/py_code_object/python_compiler/src/python_compiler.rs at master · GS-/RustPython

Expand file tree

/

python_compiler.rs

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
35 lines (30 loc) · 1.2 KB
/

python_compiler.rs

Copy path

File metadata and controls

35 lines (30 loc) · 1.2 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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.