Python: Multiple Files - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: Python: Multiple Files (/thread-16910.html) |
Python: Multiple Files - Eddie W. Shore - 05-09-2021 09:38 PM Is there a way for Python not to automatically run all the python scripts when [Num] is pressed? RE: Python: Multiple Files - Dougggg - 05-09-2021 10:39 PM Probably not very convient but you can use import to run a program. Thats the only thing i found RE: Python: Multiple Files - Dougggg - 05-09-2021 10:53 PM Scratch that import only works for functions in a program but looks like if you import a program it appears to run both programs ? RE: Python: Multiple Files - toml_12953 - 05-10-2021 02:13 AM (05-09-2021 10:53 PM)Dougggg Wrote: Scratch that import only works for functions in a program but looks like if you import a program it appears to run both programs ? The entire program can be a function. RE: Python: Multiple Files - Dirk.nl - 05-10-2021 09:59 AM Quote:Is there a way for Python not to automatically run all the python scripts when [Num] is pressed? https://www.hpmuseum.org/forum/thread-16724.html RE: Python: Multiple Files - drbarnack - 05-22-2021 07:33 AM I've gotten around this by not including `while True`, `if __main__:` and similar in my Prime Python scripts. I think of them not as programs that you run, but as functions that you load into memory. For example, if I have a script called names.py: Code:
I intentionally don't call the `get_name()` function inside the script. Instead, the function will be imported from my script when I switch to the Numeric view (`> import names`), and I'll call the function from the Numeric REPL using the script's namespace: `names.get_name()`. This is similar to the Numworks sample scripts. They do let you choose which script to import instead of importing all of them, but you still enter the main function in the script ("simulation(), mandelbrot(), etc.") into the REPL to make it do something. However, having to enter the complete namespace and function name using the calculator keypad is cumbersome. Two approaches to this could be:
-DrBarnack |