Home » Python » How can I make one python file run another? [duplicate]

How can I make one python file run another? [duplicate]

Posted by: admin November 1, 2017 Leave a comment

Questions:

This question already has an answer here:

Answers:

There are more than a few ways. I’ll list them in order of inverted preference (i.e., best first, worst last):

  1. Treat it like a module: import file. This is good because it’s secure, fast, and maintainable. Code gets reused as it’s supposed to be done. Most Python libraries run using multiple methods stretched over lots of files. Highly recommended. Note that if your file is called file.py, your import should not include the .py extension at the end.
  2. The infamous (and unsafe) exec command: execfile('file.py'). Insecure, hacky, usually the wrong answer. Avoid where possible.
  3. Spawn a shell process: os.system('python file.py'). Use when desperate.
Questions:
Answers:

Get one python file to run another:

  1. Put this in main.py:

    #!/usr/bin/python
    import yoursubfile
    
  2. Put this in yoursubfile.py

    #!/usr/bin/python
    print "hello";
    
  3. Run it:

    python main.py 
    
  4. It prints:

    hello
    

Thus main.py called yoursubfile.py

I’m using python 2.7.3 and Ubuntu 12.10

Questions:
Answers:
  • you can run your .py file simply with this code:

import os 
os.system('python filename.py')

note:
put the file in the same directory of your main python file.

Questions:
Answers:

You’d treat one of the files as a python module and make the other one import it (just as you import standard python modules). The latter can then refer to objects (including classes and functions) defined in the imported module. The module can also run whatever initialization code it needs. See http://docs.python.org/tutorial/modules.html

Questions:
Answers:

I used subprocess.call it’s almost same like subprocess.Popen

from subprocess import call
call(["python", "your_file.py"])

Questions:
Answers:

You could use this script:

def run(runfile):
  with open(runfile,"r") as rnf:
    exec(rnf.read())

Syntax:

run("file.py")

Questions:
Answers:
from subprocess import Popen

Popen('python filename.py')

or how-can-i-make-one-python-file-run-another-file

Questions:
Answers:

It may be called aa1.py from main script as below,

#!/usr/bin/python
import aa1
aa1

aa1.py may be something below,

print'abc'