Я отправляю строку в электронное письмо, и мне нужно одно предложение в каждой строке, например:
"Loaded LLARY_AR with 0 features
Loaded LLARY_LN with 44 features
Loaded LLARY_PT with 23 features"
Но когда я добавляю одну новую строку в конкатенацию строк, я получаю две строки вместо одной, например:
"Loaded LLARY_AR with 0 features
Loaded LLARY_LN with 44 features
Loaded LLARY_PT with 23 features"
И если я не включаю символ новой строки, я получаю это:
"Loaded LLARY_AR with 0 features Loaded LLARY_LN with 44 features Loaded LLARY_PT with 23 features"
Вот код:
msgemail = ""
for fcl in trnlist:
try:
tofc = param["tsde"]+"\\"+param["trema"]+fcl
fromfc = param["msde"]+"\\"+param["mchema"]+fcl
arcpy.DeleteFeatures_management(tofc)
arcpy.Append_management(fromfc, tofc)
msgemail +="\nLoaded "+fcl+" with "+str(arcpy.GetCount_management(fromfc))+" features"
del fcl, tofc, fromfc
except:
msgemail +="\nUnsuccessful!! "+fcl
emailto = ["email@to","email@to"]
server = smtplib.SMTP('server.here')
header = "Results:\n"
subject = "Data"
mailmessage = header+msgemail+"\n\nCheck log for details"
message = 'Subject: %s\n\n%s' %(subject, mailmessage)
for e in emailto:
try:
server.sendmail("email@from",e, message)
except:
arcpy.AddMessage(e+" was not sent an email.")
server.quit()
Я не понимаю, почему перевод строки действует таким образом ... и новичок ... очевидно, что-то здесь упускает.
Я обнаружил, что это работает для создания хорошо отформатированного электронного письма (но не включает в себя необходимую информацию из ..GetCount..process):
msgemail +="\nLoaded"+fcl
Хотя это не приводит к красиво отформатированному письму:
msgemail +="\nLoaded "+fcl+" with "+str(arcpy.GetCount_management(fromfc))+" features"
msgemail +="\nLoaded "+fromcnt
msgemail +="\nLoaded "+fromcnt+" testing for string at end"