Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > cz.comp.lang.python > #3441
| From | Petr Viktorin <encukou@gmail.com> |
|---|---|
| Subject | Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách |
| Newsgroups | cz.comp.lang.python |
| Message-ID | <mailman.19.1649183401.25463.python@py.cz> (permalink) |
| References | <18546cfe-ca81-7f24-be3f-f01f12fe8c6f@sandbox.cz> <14d7e451-c717-16e3-87f0-27eb2baab75f@gmail.com> |
| Organization | usenet-news.net |
| Date | 2022-04-05 20:29 +0200 |
On 05. 04. 22 18:37, Vladimír Macek wrote:
> Zdravím, mám neobvyklou otázku.
>
> Zvažujeme do jednoho projektu s embedovaným Pythonem vývoj skriptů tak,
> že se jeden py modul bude vyvíjet po segmentech. Budou nazvané třeba
> 010.py, 020.py, 030.py, ...
>
> Pro puristy, budou to malé segmenty specifické domény, nikoli standardní
> projekt. :-)
>
> Pro provedení se všechny segmenty modulu spojí do jednoho mod.py. Avšak
> když v něm nastane chyba, bude v tracebacku mod.py a číslo řádku z něj.
>
> Vývojář ale bude potřebovat problém najít ve zdrojových segmentech
> 010.py, 020.py, ...
>
> Samozřejmě si můžu segmenty zaindexovat, analyzovat text tracebacku a
> obohatit ho o přepočítané pozice.
>
> Chci se jen zeptat, jestli někdo z vás neví třeba o způsobu, jak
> ovlivnit interní počítadlo tak, že by se při spojování do mod.py dal na
> začátek každého segmentu nějaký override názvu souboru a počítadla řádků.
>
> Pokud někoho z vás napadnou alternativy, aby se segmenty provedly ve
> stejném namespace a bez spojování nebo jiné řešení, uvítám tip.
Idealne chces `from segment000 import *` ze vsech segmentu, ale jestli
je *fakt* potreba stejny namespace pro vic souboru, da se to udelat
nejak takhle:
-----------8<-----------
exec(compile("""
def main():
other()
""", '000.fakepy', 'exec'))
exec(compile("""
def other():
'''docstring on line 3'''
raise Exception()
""", '001.fakepy', 'exec'))
main()
-----------8<-----------
Traceback (most recent call last):
File "/tmp/mod.py", line 13, in <module>
main()
File "000.fakepy", line 3, in main
File "001.fakepy", line 4, in other
Exception
-----------8<-----------
(s open+read misto literal retezcu, jestli nechces spojovat)
Back to cz.comp.lang.python | Previous | Next | Find similar
Re: [python] Ovlivnění názvu souboru a čísla řádku ve výjimkách Petr Viktorin <encukou@gmail.com> - 2022-04-05 20:29 +0200
csiph-web