# Running External Python Scripts using System.util.execute

**URL:** <https://forum.inductiveautomation.com/t/running-external-python-scripts-using-system-util-execute/4001>\
**Category:** Ignition\
**Created:** [February 15, 2012, 7:17am UTC](https://forum.inductiveautomation.com/t/running-external-python-scripts-using-system-util-execute/4001 "2012-02-15T07:17:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Egen-Prasad](https://avatars.discourse-cdn.com/v4/letter/e/ecd19e/32.png) [@Egen-Prasad](https://forum.inductiveautomation.com/u/Egen-Prasad)\
**Post date:** [February 15, 2012, 7:17am UTC](https://forum.inductiveautomation.com/t/running-external-python-scripts-using-system-util-execute/4001/1 "2012-02-15T07:17:35Z")

</div>

In one of the forum replies it was said that you can use System.util.execute to run external Python Scripts.  
How can this be done? and Can I use the functions to change tags in this external Scripts?

Best regards  
-Prasad

---

<div class="post-metadata">

**Author:** ![Michael.Stofan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.stofan/32/3342_2.png) [@Michael.Stofan](https://forum.inductiveautomation.com/u/Michael.Stofan)\
**Post date:** [February 28, 2012, 7:43pm UTC](https://forum.inductiveautomation.com/t/running-external-python-scripts-using-system-util-execute/4001/2 "2012-02-28T19:43:10Z")

</div>

The system.util.execute functions is meant for executing commands via the operating system. This could include running Python scripts outside of Ignition, provided Python is installed on whatever client you’re trying to run system.util.execute on.

One important note: The program that you are running from system.util.execute runs in a seperate thread, and does not have the ability to send information back to your Ignition Client. There is an example in the user manual that shows a typical usage.

From the user manual:

# This code would work on a Windows system to play a sound file.

system.util.execute([“sndrec32”, “/play”, “/close”, “/embedding”, “C:\somethingwrong.wav”])

The only way to actually add new scripting functions to Ignition is to create your own Ignition Module. See this forum post for more information on that [http://www.inductiveautomation.com/forum/viewtopic.php?f=81&t=6646](http://www.inductiveautomation.com/forum/viewtopic.php?f=81&t=6646)

Hope this helps to clarify the issue.
