2015-01-08 45 views
0

我试图编写一个脚本,它读取.xlsx文件中的单元格(结果是.eml的名称),并检查.eml是否位于目录/vagrant/E-Mails中。 它执行一个shell脚本,将目录中的所有.eml文件放入eml.txt文件中。为什么这个脚本不能像它应该那样运行?

如果我做的:

>> python optest.py 

还在说:

电子邮件没有找到

...但也有一些.eml目录中的文件。

你能帮我解决这个问题吗?

from openpyxl import load_workbook 
import subprocess 

testcases = load_workbook('/vagrant/Excel/testcases.xlsx') 
testcases_ws = testcases.active 
profil = testcases_ws['A2'] 
print profil.value 


testmails = load_workbook('/vagrant/Excel/testmails.xlsx') 
testmails_ws = testmails.active 
eml = testmails_ws['A2'] 
eml = eml.value 
print eml 
path = "/vagrant/E-Mails/" 

subprocess.Popen(['sh', "/vagrant/test.sh"]) 

if eml in open("eml.txt", "r"): 
     print "E-Mail ´found" 
else: 
     print "E-Mail not found." 

回答

1
if eml in open("eml.txt", "r"): 

在这里,您使用的是open返回的文件对象的in运营商。只有在eml与文件中的完整行匹配时才会成功,包括终止换行符。对于更宽松的匹配方法,请尝试在文件的字符串内容上使用in

if eml in open("eml.txt", "r").read(): 
+0

哇,那很容易。谢谢! :) – Franz

相关问题