leer un archivo (.txt, .csv..xls) y asignarlos a la variable respectiva en el script de python

Tengo un archivo (mail.txt) y que tiene contenido como

emailfrom = 'satya@gmail.com' emailto = 'abc@hcl.com','xyz@hcl.com','accc@infy.com' filepath = 'D:\A_2.csv' subject = 'sells report for xyz' body = 'hi axx,find the attached file of sells.' 

Y estoy ejecutando un script para enviar correo y en mi script están presentes las variables msg email, emailto, filepath, subject, body.

Entonces, ¿cómo puedo leer ese archivo de texto y leer valores desde allí y asignar variables a mis variables de script?

Por favor recomiende.

Use un diccionario para guardar la información, con ast.literal_eval() para evaluar adecuadamente sus cadenas y tuple (o de lo contrario, terminaría con ' todas partes):

 import ast with open('mail.txt') as f: d = {k:ast.literal_eval(v) for k,v in (line.strip().split(' = ') for line in f)} 

A continuación, tendrá un diccionario que contiene cada valor:

 >>> print(*d.items(), sep='\n') ('emailfrom', 'satya@gmail.com') ('emailto', ('abc@hcl.com', 'xyz@hcl.com', 'accc@infy.com')) ('filepath', 'D:\\A_2.csv') ('body', 'hi axx,find the attached file of sells.') ('subject', 'sells report for xyz') 

Acceda a los valores como cabría esperar:

 >>> d['subject'] 'sells report for xyz' 
  objFile = open("youfile.txt", "r") lsFileContents = objFile.readlines() strEmailFrom = lsFileContents[0].strip().split("=")[1].strip() strEmailTo = lsFileContents[1].strip().split("=")[1].strip() strFilePath = lsFileContents[2].strip().split("=")[1].strip() strBody = lsFileContents[4].strip().split("=")[1].strip() strSubject = lsFileContents[3].strip().split("=")[1].strip() objFile.close()