[Ironpython-users] How to override the __file__ path in c#?

Markus Schaber m.schaber at codesys.com
Thu Apr 21 03:09:07 EDT 2016


Hi, Dasaratha,

As far as I can see, you will need to use a deeper layer of the API. Some of the Microsoft.Scripting.Hosting.ScriptEngine.CreateScriptSourceXXX() methods get a “path” argument which should be the one which ends up as the __file__ variable.

You could use CreateScriptSourceFromString() or the CreateScriptSource() overloads, where you pass the script contents explicitly.

To get the ScriptEngine instance, use the IronpPython.Hosting.Python.CreateEngine() methods.

Best regards

Markus Schaber

CODESYS® a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions
________________________________
3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: m.schaber at codesys.com<mailto:m.schaber at codesys.com> | Web: codesys.com<http://www.codesys.com> | CODESYS store: store.codesys.com<http://store.codesys.com>
CODESYS forum: forum.codesys.com<http://forum.codesys.com>

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915
________________________________
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received
this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorised copying, disclosure
or distribution of the material in this e-mail is strictly forbidden.
From: Ironpython-users [mailto:ironpython-users-bounces+m.schaber=codesys.com at python.org] On Behalf Of Dasaratha Ramu Rachapudi (C)
Sent: Wednesday, April 20, 2016 10:12 PM
To: ironpython-users at python.org
Subject: [Ironpython-users] How to override the __file__ path in c#?

Hi,

How to override the python’s __file__ variables path (with a custom path rather than the current executing script path) in c#?
I want to do this before the python script execution through c#. I am using the following code snippet for overriding the __file__ variable.
Please let me know if this is the correct approach or not

ScriptScope scope2;
scope2.SetVariable("__file__", "c:/temp");


When we execute the python script this is being overwritten by python automatically (to current executing script path) and I am not able to get the c:/temp path from the __file__ variable.

Please help me resolve this issue.



Thanks & Regards,
Dasaratha R



Nothing in this message is intended to constitute an electronic signature unless a specific statement to the contrary is included in this message.

Confidentiality Note: This message is intended only for the person or entity to which it is addressed. It may contain confidential and/or privileged material. Any review, transmission, dissemination or other use, or taking of any action in reliance upon this message by persons or entities other than the intended recipient is prohibited and may be unlawful. If you received this message in error, please contact the sender and delete it from your computer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20160421/5984d934/attachment.html>


More information about the Ironpython-users mailing list