为什么这个脚本不能正常运行?
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():
我尝试编写一个脚本来读取 .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():