已经可以传值了,哈哈哈!
如题呀……我是小白,求各位大神解惑!
build_using_xctool.sh
auto_send_email.py
build_using_xctool.sh
中运行 auto_send_email.py
中的 sendMessage(a,b,c,d,...)
函数,a,b,c,d,...
某些参数需要从 build_using_xctool.sh
中传过去!
事情是这样的,我在网上找了一个自动打包分发的shell
脚本,然后我想在打包完成上传至fir上面之后发邮件通知自己和同事,然后又找了一个发送邮件的python
脚本!
build_using_xctool.sh
#!/bin/bash
#前面的略...
python /Users/gyd/Desktop/auto_send_email.py "这是标题" "这是内容"
auto_send_email.py
# -*- coding: UTF-8 -*-
import sys, os, re, urllib, urlparse
import smtplib
import traceback
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
password = "******"
fromaddr = "123456@qq.com"
smtpaddr = "smtp.qq.com"
toaddrs = ["654321@qq.com"]
def sendemail(title,content):
mail_msg = MIMEMultipart()
if not isinstance(title,unicode):
title = unicode(title, 'utf-8')
mail_msg['Subject'] = title
mail_msg['From'] =fromaddr
mail_msg['To'] = ','.join(toaddrs)
mail_msg.attach(MIMEText(content, 'html', 'utf-8'))
try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
s.login(fromaddr,password) #登录邮箱
s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #发送邮件
s.quit()
return True
except Exception,e:
return flase
if sendemail(sys.argv[1], sys.argv[2]):
print "邮件已发送!"
else:
print "邮件发送失败!"
Python 可以利用
sys.argv
拿到命令列上的 arguments:test.py
:結果:
所以你在
build_using_xctool.sh
中可以這樣調度 python:然後在
auto_send_email.py
中:我回答過的問題: Python-QA