问题描述
我正在尝试对 .doc 文件运行 grep 以获取字符串并将其与宏的证据进行匹配以检测它。
我有:
filename = raw_input("file name: ") <--- using malicIoUs.doc
s1 = os.popen("grep '/vbaProject\|/vbaData' " + filename).read()
s2 = 'Binary file ' + filename + ' matches'
if s1 == s2:
print("true")
else:
print("false")
如果我跑:
if s1 == s2:
print("true")
else:
print("false")
print(s1)
print(s2)
我得到以下输出:
false
Binary file malicIoUs.doc matches
Binary file malicIoUs.doc matches
文本匹配,我什至尝试执行 s1 = str(s1) and s2 = str(s2)
但仍然出错。
提前致谢。
解决方法
根据您的评论,结果中多了一个换行符。
我通常建议在比较它们之前从空格中去除结果。在你的情况下,我会这样做:
s1 = os.popen("grep '/vbaProject\|/vbaData' " + filename).read().strip()