pythonoutlook
最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,
復制代碼代碼如下沒旦:
os.system('cat /proc/cpuinfo')
但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。
嘗試第二種方案 os.popen()
復制代碼代碼如下宴察賣:
output = os.popen('cat /proc/cpuinfo')
print output.read()
通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程序晌逗執行的返回值)
嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。
復制代碼代碼如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
Python Document 中給的一個例子,
復制代碼代碼如下:
>>> 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-x 1 root 13352 Oct 14 1994 /bin/ls'
最後頁面上還可以根據返回值來顯示命令執行結果。
2. 如何在python等腳本中調用outlook組件
範例代碼如下:
importwin32com.client
defsend_mail_via_com(text,subject,recipient,profilename="Outlook2003"團備肢孫):
s=win32com.client.Dispatch("Mapi.Session")
o=win32com.client.Dispatch("Outlook.Application")
s.Logon(profilename)
Msg=o.CreateItem(0)
Msg.To=recipient
塌飢毀
Msg.CC="moreaddresseshere"
Msg.BCC="address"
Msg.Subject=subject
Msg.Body=text
attachment1="Pathtoattachmentno.1"
attachment2="Pathtoattachmentno.2"
Msg.Attachments.Add(attachment1)
Msg.Attachments.Add(attachment2)
Msg.Send()
3. 麻煩用python寫一個outlook收發郵件
去清褲舉網上搜一下,down一個參考一下。python還是比較新的內容,你學它做自純襲動答碧化測試之類的,還是不錯的。
4. python用outlook發送附件怎麼發送utlook是內網
outlook撤回或刪掉正在爛扮尺發送的郵件飢高的步驟:在正在發送郵件時,選中右下角的【正在准備缺並發送/接收】,滑鼠右鍵選擇【取消 發送/接收】。
5. 如何通過python發送日歷郵件
方便起見,用代碼說話(只是最簡單的版本,各種定製需求可以參看rfc,不過很多效果需要客戶端的支持,支持的比較好的是outlook)
# encoding: utf-8
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
import os,datetime
def send_email(**kwargs):
"""
method
event
dtstart
e
msg
dtstamp
"""
ical = """
BEGIN:VCALENDAR\r\n
PRODID:pyICSParser\r\n
METHOD:%(method)s\r\n
VERSION:2.0\r\n
BEGIN:%(event)s\r\n
DTSTART:%(dtstart)s\r\n
DUE:%(e)s\r\n
PRIORITY:1\r\n
SUMMARY:%(msg)s\r\n
UID:[email protected]\r\n
SEQUENCE:0\r\n
DTSTAMP:%(dtstamp)s\r\n
STATUS:%(status)s\r\n
END:VEVENT\r\n
END:VCALENDAR\r\n
"""% kwargs
eml_body = u"%(msg)s" % kwargs
msg = MIMEMultipart('mixed')
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = u"%(msg)s" % kwargs
msg['To'] = ",".join(attendees)
part_email = MIMEText(eml_body,"html",'utf-8')
part_cal = MIMEText(ical,'calendar;method=%(method)s'%kwargs,'utf-8')
msgAlternative = MIMEMultipart('alternative')
msg.attach(msgAlternative)
ical_atch = MIMEBase('application/ics',' ;name="%s"'%("invite.ics"))
ical_atch.set_payload(ical)
Encoders.encode_base64(ical_atch)
ical_atch.add_header('Content-Disposition', 'attachment; filename="%s"'%("invite.ics"))
eml_atch = MIMEBase('text/plain','')
Encoders.encode_base64(eml_atch)
eml_atch.add_header('Content-Transfer-Encoding', "")
msgAlternative.attach(part_email)
msgAlternative.attach(part_cal)
s = smtplib.SMTP()
s.connect('xxxx')
s.login(' ', ' ')
s.sendmail('[email protected]', attendees, msg.as_string())
s.close()
attendees =['[email protected]']
fro = ""
ddtstart = datetime.datetime.utcnow()
r = datetime.timedelta(minutes= 5)
dtend = ddtstart + r
dtend = dtend.strftime("%Y%m%dT%H%M%SZ")
send_email(method='PUBLISH',event='VTODO',dtstart=dtend,e=dtend,msg='publish 任務',dtstamp=dtend, status="COMPLETED")
send_email(method='REQUEST',event='VTODO',dtstart=dtend,e=dtend,msg='request 任務',dtstamp=dtend, status="NEEDS ACTION")
send_email(method='PUBLISH',event='VEVENT',dtstart=dtend,e=dtend,msg='publish 日歷',dtstamp=dtend, status="CONFIRMED")
send_email(method='REQUEST',event='VEVENT',dtstart=dtend,e=dtend,msg='request 日歷',dtstamp=dtend, status='CONFIRMED')
6. python 發送郵件
以下腳本測試通過!!!!!
fromTkinterimportTk
fromtimeimportsleep
importwin32com.clientaswin32
warn=lambdaapp:showwarning(app,"Exit?")
Range=range(3,8)
defoutlook():
app="Outlook"
olook=win32.gencache.EnsureDispatch("%s.Application"%app)
mail=olook.CreateItem(win32.constants.olMailItem)
recip=mail.Recipients.Add("[email protected]")
subj=mail.Subject="Python-to-%sDemo"%app
body=["Line%d"%iforiinRange]
body.insert(0,"%s "%subj)
body.append(" Th-th-th-that'sallfolks!")
mail.Body=" ".join(body)
mail.Send()
'''
ns=olook.GetNamespace("MAPI")
obox=ns.GetDefaultFolder(win32.constants.olFolderOutbox)
obox.Display()
obox.Items.Item(1).Display()
'''
warn(app)
olook.Quit()
if__name__=="__main__":
Tk().withdraw()
outlook()
7. mac python outlook內容換行怎麼實現
運用圖表上的
來實現換行。
在我們平時打字聊天中,我們的換行很直接,點回車即可。那在python中我們要操作這種方式要怎麼處理呢,輸入一個例子。第一種自動換行,我們可以跟我們平時打字那樣操作,但這樣操作會出現錯誤。你這個時候可以試著把單引號或者雙引號修改成三引號,發現這次是可以運行的。除了上面的方式,我們還可以使用轉義符,針對這個符號我們可以看一下這個圖表。運用圖表上的
來實現換行,但需要注意的是,你可以用單引號和三引號,但用雙引號這里要出現語法錯誤。
Python解釋器易於擴展,可以使用C語言或C+(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。
8. python對outlook郵件讀取
鑒於周報都要讀取不同郵件內容,想定時運行便於操作。
一些相關性質記錄:
寫郵件:
尚存問題:
2.附件沒法直接讀取,要保存後再讀取,尚需探索。