How to get the current running mlx filename?

6 visualizaciones (últimos 30 días)
Dorian
Dorian el 15 de Oct. de 2024
Editada: Shubham el 17 de Oct. de 2024
Hi, I'm trying to obtain a livescript's filename during its execution...
I've tried using mfilename as it works for regular scripts but when I use it with a .mlx it outputs : "LiveEditorEvaluationHelperEXXXXXXXXXX" with X being a series of digits.
I've also tried using fileparts but it only works with an open file, and I don't necessarily want to open my scripts before running them.
Would anyone know a work-around or a different way of obtaining a livescript's name during its execution?
  1 comentario
Rik
Rik el 15 de Oct. de 2024
Unfortunately, as fas as I can tell, there is no general way.
You can use the editor to report the currently opened file, but that only works if the currently running live script is indeed the the active file in the editor.

Iniciar sesión para comentar.

Respuesta aceptada

Shubham
Shubham el 15 de Oct. de 2024
Editada: Shubham el 17 de Oct. de 2024
Hey Dorian,
As far as I understand, Live editors do not execute the .MLX script directly. For running the code, temporary files are created for the code section which are then evaluated and ran. Hence it is difficult to extract the file information in the case of Live Script. For more information, please refer to the following comment on a similar MATLAB Answers post: https://www.mathworks.com/matlabcentral/answers/9907-is-there-a-function-that-retrieves-the-filename-of-the-current-script#comment_759325
As you mentioned, you can use the fileparts function to get the name of the file when it is active (opened). However, since you mentioned that you may like to execute the live scripts without opening them, I would think that you could rather have it run as .M script. The mfilename function would run as expected if the script is run as .M file.
You can also programmatically convert the .MLX script into .M as mentioned in the following post: https://www.mathworks.com/matlabcentral/answers/271478-how-do-i-go-between-plain-scripts-m-and-live-scripts-mlx
However, for a more appropriate workaround, I would suggest you to raise a service request here: https://www.mathworks.com/support/contact_us.html?s_tid=hc_trail
I hope this helps!

Más respuestas (0)

Categorías

Más información sobre Adding custom doc en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by