Friday, July 26, 2019

How to capture terminal output to text file from my python script

I want to capture terminal message and save it to a text file while my python script is running.. I want to capture error messages as well.



-Don't want to execute this using batch file.
-help me where should i put those command on my script



import base64

import sendgrid


import os

import pandas as pd

import time

from datetime import date, timedelta



from sendgrid.helpers.mail import Email, Content, Mail, Attachment

# Python 3
import urllib.request as urllib

except ImportError:

# Python 2
import urllib2 as urllib



list = pd.read_csv('emaildb.csv')

email = list['Email']

merchant = list['Merchant']

today = date.today()

yest = today - timedelta(1)


yest1 = yest.strftime('%Y%m%d')

yest2 = yest.strftime('%Y-%m-%d')

now1 = time.strftime("%B %d %Y %H:%M:%S")

sg = sendgrid.SendGridAPIClient(apikey='sample API')




i = 0

while i < len(list):

file_name1 = "REPORT_"+yest1+"_"+str(merchant[i])+".pdf"

file_name2 = "REPORT_"+yest1+"_"+str(merchant[i])+".xls"

S1="REPORT "+str(merchant[i])+" "+str(yest1)


B1 = "Test"

with open(file_name1,'rb') as f:
data1 = f.read()
encoded1 = base64.b64encode(data1).decode()



with open(file_name2,'rb') as f:

data2 = f.read()
encoded2 = base64.b64encode(data2).decode()

mail = {
"attachments": [
{
"content": encoded1,

"filename": file_name1,
},

{
"content": encoded2,
"filename": file_name2,
}
],
"personalizations": [
{

"to": [{
"email": email[i]

}],
"subject": S1
}
],
"from": {
"email": "test.com"
},
"content": [
{
"type": "text/html",

"value": B1
}
]
}

response = sg.client.mail.send.post(request_body=mail)
print("["+now1+"] "+email[i]+" "+file_name1)
if response.status_code == 202:
print('Success')
else: print('Failed')

print("\n")
i = i + 1

No comments:

Post a Comment

plot explanation - Why did Peaches&#39; mom hang on the tree? - Movies &amp; TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...