为什么这个脚本不能正常运行?

Why doesn't this script run like it should?

我尝试编写一个脚本来读取 .xlsx 文件中的单元格(结果是 .eml 的名称)并检查 .eml 是否在目录 /vagrant/E-Mails。 它执行 shell 脚本,将目录中的所有 .eml 文件放入 eml.txt 文件。

如果我这样做:

>> python optest.py 

它仍然说:

E-Mail not found

...但是目录中有 .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."
if eml in open("eml.txt", "r"):

在这里,您对 open 返回的文件对象使用了 in 运算符。仅当 eml 与文件中的完整行(包括终止换行符)完全匹配时才会成功。对于更宽松的匹配方法,请尝试对文件的字符串内容使用 in

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