Ideally should should import requited python file using import
into another and call required function from other programs but there could be some instances where you would need to trigger one python script from another.
This is fairly simple.
Lets say I have following two program located in same folder one.py and one_sub.py. Let us try calling one_sub.py from one.py is fairly simple
one.py
import os
os.system('python3.6 ' + 'one_sub.py')
This code will trigger one_sub.py.
Passing parameters to calling file
This needs minor changes. Whatever you need to pass, just mention that value or variable after a space.
one.py
import os
os.system('python3.6 ' + 'one_sub.py 11 ')
one_sub.py
import sys
print("---This is inside script 2")
input_value = int(sys.argv[1])
print(" 0 ", sys.argv[0], )
print(" 1 ", sys.argv[1], type(sys.argv[0]))
Please note, 0th parameter is always the script name, you can pass multiple parameters.
Also, received files are always string, you need to change to required datatype using datatype conversion operators e.g. int(sys.argv[1]
)
Trigger file located at different directory
import os
file_path = '/home/user/code/quant/source/library/'
os.system('python3.6 ' + file_path + 'one_sub.py 11 22')
Please note the training '/'
in file_path