我的服务器上有2个Python脚本。我想从SendMail.py
运行第二个MainScript.py
,我需要将2个参数传递给它。
我想在send_mail
中调用MainScript.py
函数:
def send_mail(subject, body):
# call SendMail.py with and pass the subject & body arguments
因此它将运行
SendMail.py
。传递参数时如何运行其他脚本?是否可以不将主功能从
SendMail.py
导入到MainScript.py
?如何获取SendMail.py
中的参数? 最佳答案
您可以使用subprocess
模块运行另一个python解释器; sys.executable
为您提供了方便的起点:
import subprocess
import sys
subprocess.call([sys.executable, 'SendMail.py', subject, body])
但最佳做法是仅导入
SendMail
;确保将其结构化为仅使用if __name__ == '__main__'
防护程序运行“类似脚本”的代码,然后从SendMail
导入主要的“发送”功能,然后重复使用该功能:def send_mail(subject, body):
# main sending function
if __name__ == '__main__':
# parse command line arguments into subject and body
send_mail(subject, body)
然后导入
SendMail
并调用SendMail.send_mail(subject, body)
。关于python - 如何将参数从服务器上的一个python脚本传递给另一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17165097/