Edit Python code programmatically

Alex noname9968 at gmail.com
Sat Feb 9 10:54:41 EST 2008


Guilherme Polo wrote:
> 2008/2/9, Alex <noname9968 at gmail.com>:
>   
>> Guilherme Polo wrote:
>>  > 2008/2/9, Arnaud Delobelle <arnodel at googlemail.com>:
>>  >
>>  >> On Feb 9, 12:32 pm, "Guilherme Polo" <ggp... at gmail.com> wrote:
>>  >>  > 2008/2/9, Alex <noname9... at gmail.com>:
>>  >>  >
>>  >>  > > Guilherme Polo wrote:
>>  >>  > >  > 2008/2/9, Alex <noname9... at gmail.com>:
>>  >>
>>  >>
>>  >>  > >  >> Which library could you recommend to perform simple editing of Python
>>  >>  > >  >>  code (from Python program)? For example, open *.py file, find specific
>>  >>  > >  >>  function definition, add another function call inside, find existing
>>  >>  > >  >>  call and change parameter value, etc.
>>  >>  > >  > You are after inspect, it is included with python.
>>  >>  >
>>  >>  > > Yes, I forgot to mention - I'm new to Python. I didn't necessary mention
>>  >>  > >  3rd party library. Simply such wasn't mentioned in library review and
>>  >>  > >  tutorials, so I didn't know of it. What's the module's name?
>>  >>  >
>>  >>
>>  >>
>>  >>> inspect is a module, inspect is the name. It is not a module for
>>  >>>
>>  >>  > editing Python code per se, but it will help with the other part.
>>  >>
>>  >>
>>  >> I don't think the OP wants to edit python code *objects*, rather he
>>  >>  wants to edit python *source* code programmatically.  Inspect is not
>>  >>  the tool for this.
>>  >>
>>  >
>>  > I didn't tell him to use inspect to edit python code, I said it was
>>  > useful for the other part. The other part, as he mentioned on his
>>  > email is: "find specific
>>  > function definition, add another function call inside, find existing
>>  > call".
>>
>> Sorry but I said "in *.py file", meaning that file isn't executed to
>>  edit objects in memory. It's instead saved in modified form, possibly to
>>  be edited by user. Guess it's a common task for visual GUI editors and
>>  any visual programming tools.
>>
>>     
>
> By visual GUI editors I will assume GUI designer tools. These tend to
> not generate  direct python code, glade-2 used to but glade-3 doesn't
> anymore. Other tools like XRCed generates xrc, wxGlade has an option
> to generate .xrc too, Qt Designer generates .ui and .qrc, Glade-3
> generates .glade file, Gazpacho generates .glade, or a gazpacho format
> or gtkbuilder format. In all these, it is recommended to use something
> to work with the generated code, like libglade, wx.xrc and PyQt has
> tools to convert .ui and .qrc to python modules but they don't affect
> your custom code (it is also possible to load .ui using uic module).
>
> With this we come back to my first email, where I told you it is not
> recommended to generate direct python code, especially if you are
> doing the kind of things you just mentioned. If you still want to
> generate python code, from some other source, inspect can be helpful.
Thank you for detailed reply... but I still want to generate python 
code. By the way, Python Package Index references code generators able 
to generate Python code 
(http://pypi.python.org/pypi?:action=browse&show=all&c=409), which I'll 
inspect later (especially their ability to *edit* code). Inspect might 
be useful too.



More information about the Python-list mailing list