Python字符串比较未按预期进行计算

Python字符串比较未按预期进行计算,python,string,comparison,evaluation,Python,String,Comparison,Evaluation,我在一个文件中有一个日期,在另一个文件中有一个日期。它们看起来像这样: log1.log->2017年11月6日 及 log2.log->2017年11月6日 特别是为了寻找这样的匹配,我写了以下内容: if row != date: pass elif row == date: print("match found") 我已经试着做了逻辑,而不是检查不平等,检查平等;但它不起作用。我还将找到的值导出到一个新的文本文件中,并检查在终端中很难检测到的空格或换行符。没有骰子 将日期打印到终

我在一个文件中有一个日期,在另一个文件中有一个日期。它们看起来像这样:

log1.log->2017年11月6日

log2.log->2017年11月6日

特别是为了寻找这样的匹配,我写了以下内容:

if row != date:
  pass
elif row == date:
  print("match found")
我已经试着做了逻辑,而不是检查不平等,检查平等;但它不起作用。我还将找到的值导出到一个新的文本文件中,并检查在终端中很难检测到的空格或换行符。没有骰子

将日期打印到终端可以确认它们确实匹配

示例输出:

[]2017年6月13日2017年6月13日

当我打印它们时,在它们和散列符号之间留有一个空格,以使打印输出看起来有条理

我尝试的最后一件事是在比较中表面上把它们都转换成字符串。我疯了吗?这是怎么回事

除了数据本身,我可以提供任何东西。然而,我们所说的只是.log文件,其中包含我使用split获取的行,因此我提供了上面的输出,以排除任何数据问题


编辑:当你编辑我的文章时,你完全谋杀了我的语法和可读性。就英语而言,当你完成它时,它是胡言乱语。让我们暂时别管它,k?这个句子的主语是逻辑。我编辑回来的内容很好。而且你不需要否认空格的多重化。它已经暗示可能有多个实例。

打开文件时使用encoding='UTF-16LE'参数。

每个日志文件中是否只有一行?您是要按行号比较行还是将一行与整个文件进行比较?它们可能是字符串中不可见的字符。尝试将它们转换为字节并比较结果。Nah每个日志的倍数和log2中每隔一行为空。我将粘贴代码。尝试将print[]+strow+''+strdate替换为以下内容:print[ordx代表行中的x],[ordx代表日期中的x]-这将为两个字符串中的字符打印实际的ASCII代码。好吧,这就解决了问题-日期来自一个文件,它只是ASCII 48代表0,54代表6等,但行不代表。这可能是UCS2/UTF-16编码,您应该在打开该文件时声明该编码。