1. shell腳本中怎麼調用python腳本中的帶參函數
Python 可以利用 sys.argv 拿到命令列上的 arguments:
$ python test.py 1 2 3
test.py:
import sys
print(sys.argv)
結果:
['test.py', '1', '2', '3']
所以你在 build_using_xctool.sh 中可以這樣調度 python:
python /Users/gyd/Desktop/auto_send_email.py subject msg toaddrs fromaddr smtpaddr password
然後在 auto_send_email.py 中:
import sys # 自己 import sys...if __name__ == '__main__':
sendmail(*sys.argv[1:])
2. shell裡面怎麼調用,執行python文件
首先確保你Python的執行環境在你的path中,不過不在也沒關系。
然後像普通的執行其他腳本的方式來執行。
例如:
Python代碼
pyfile=...(你的py文件所在的具體路徑)
/usr/local/bin/python $pyfile
3. 請教在shell中調用python並獲取py返回值的問題
調用並且傳入參數就不必說了吧,很簡單直接python <file_name>.py <arg1> <arg2>
首先,你知道PYTHON是買有main函數的,要想讀到PYTHON裡面RETURN的值恐怕辦不到PYTHON裡面也沒有類似的通道。
但是,你卻可以讀到PYTHON的sterr的error code。PYTHON裡面有個sys模塊,你可以用sys.exit(<num>)的方式,通過把錯誤碼發送給stderr。然後再Shell裡面用$?(事實上$?命令會從stderr裡面去讀) 來判斷python是否執行成功
4. shell裡面怎麼調用,執行python文件
1.在shell裡面寫上編碼方案
2.把utf-8 改成 gbk,據說win上對中文的支持以gbk為好。
3.如果還不行,整個錯誤的提示都貼出來
5. shell 腳本調用python自定義類並傳參
| 是重定向嘛, echo 'asdfadsf' 先是將'asdfadsf'輸出到標准輸出也就是屏幕
然後 | 將echo的輸出轉到 logcat.py 作為 logcat.py 的輸入,也就等於是將 'asdfadsf' 作為 logcat.py的輸入參數
6. shell腳本里怎樣在調用python時傳參數
Python 可以利用 sys.argv 拿到命令列上的 arguments:
$ python test.py 1 2 3
test.py:
import sys
print(sys.argv)
結果:
['test.py', '1', '2', '3']
所以你在 build_using_xctool.sh 中可以這樣調度 python:
python /Users/gyd/Desktop/auto_send_email.py subject msg toaddrs fromaddr smtpaddr password
然後在 auto_send_email.py 中:
import sys # 自己 import sys...if __name__ == '__main__':
sendmail(*sys.argv[1:])
7. shell腳本里調用python腳本時候怎樣傳參數
| 是重定向嘛, echo 'asdfadsf' 先是將'asdfadsf'輸出到標准輸出也就是屏幕 然後 | 將echo的輸出轉到 logcat.py 作為 logcat.py 的輸入,也就等於是將 'asdfadsf' 作為 logcat.py的輸入參數
8. 如何用python通過163發送郵件
# 導入 smtplib 和 MIMEText
import smtplib
from email.mime.text import MIMEText
# 定義發送列表
mailto_list=["[email protected]","[email protected]"]
# 設置伺服器名稱、用戶名、密碼以及郵件後綴
mail_host = "smtp.126.com"
mail_user = "user"
mail_pass = "pass"
mail_postfix="126.com"
# 發送郵件函數
def send_mail(to_list, sub, context):
'''''
to_list: 發送給誰
sub: 主題
context: 內容
send_mail("[email protected]","sub","context")
'''
me = mail_user + "<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(context)
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
send_smtp = smtplib.SMTP()
send_smtp.connect(mail_host)
send_smtp.login(mail_user, mail_pass)
send_smtp.sendmail(me, to_list, msg.as_string())
send_smtp.close()
return True
except (Exception, e):
print(str(e))
return False
if __name__ == '__mian__':
if (True == send_mail(mailto_list,"subject","context")):
print ("測試成功") www.codesky.net
else:
print ("測試失敗")
9. 怎麼樣在shell腳本中調用python腳本
1、os.system(cmd)
缺點:不能獲取返回值
2、os.popen(cmd)
要得到命令的輸出內容,只需再調用下read()或readlines()等
例:a=os.popen(cmd).read()
3、commands模塊,其實也是對popen的封裝。
此模塊主要有如下方法:
commands.getstatusoutput(cmd)返回(status, output).
commands.getoutput(cmd)只返回輸出結果
commands.getstatus(file)返回ls -ld file的執行結果字元串,調用了getoutput
例:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x1 root13352 Oct 141994 /bin/ls'
來源:麥子學院
10. 如何使用linux shell發送Email郵件
方法很多呀,mail命令就可以實現,這個命令在很多包里都有,例如sendmail