2008/2/9, Alex <[EMAIL PROTECTED]>: > Guilherme Polo wrote: > > 2008/2/9, Alex <[EMAIL PROTECTED]>: > > > >> Guilherme Polo wrote: > >> > 2008/2/9, Arnaud Delobelle <[EMAIL PROTECTED]>: > >> > > >> >> On Feb 9, 12:32 pm, "Guilherme Polo" <[EMAIL PROTECTED]> wrote: > >> >> > 2008/2/9, Alex <[EMAIL PROTECTED]>: > >> >> > > >> >> > > Guilherme Polo wrote: > >> >> > > > 2008/2/9, Alex <[EMAIL PROTECTED]>: > >> >> > >> >> > >> >> > > >> 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. >
Depending on what you want to generate, it may be good to generate python code I won't try to change your mind on this. One of those code generators there is mine, but it doesn't have an option to edit the code neither it is in active development at all (got bored), and it generates direct python code and other language to complement the generated python code. But if I was going to add a possible code editing/updating I would probably use inspect for the reasons mentioned before. My only intention with this email was to tell that it is pretty hard to know what you are thinking, so it gets hard to point tools to use. If you advance in your code generation tool, you may have a better idea of what you want then you will get better answers too. > -- > > http://mail.python.org/mailman/listinfo/python-list > -- -- Guilherme H. Polo Goncalves -- http://mail.python.org/mailman/listinfo/python-list