0
我试图使用if
语句来检查是否存在一个特定的字符串,该字符串恰好也具有相同的文件名。但是,我遇到了两个具有共同字符的字符串,我想严格检查重复。这是我的代码的一部分。我有两个文件名为p_rgh_0
和h_0
。在Python中包含if语句的重复字符的字符串
for path, dirs, files in os.walk(logsDir, topdown=False):
for lf in sorted(files):
if (plot_pressure or plot_all):
if any((filename in lf) for filename in ('p_0', 'p_rgh_0')):
logFile = os.path.join(path, lf)
data = np.loadtxt(logFile)
time, value = data[:,0], data[:,1]
(time, value, lf) = pressure(time, value, lf)
if (plot_enthalpy):
if any((filename in lf) for filename in ('h_0')):
print lf
logFile = os.path.join(path, lf)
data = np.loadtxt(logFile)
time, value = data[:,0], data[:,1]
(time, value, lf) = enthalpy(time, value, lf)
现在既然h_0
是一种常见的字符串,这两个文件在第二if
声明,我完全只检查h_0
正在处理中。 print lf
打印这两个文件,但它应该只有h_0
。有没有办法消除这种行为,只检查h_0
?
您可以使用'=='而不是'in'测试吗?或者确实存在需要文件名的子字符串工作的情况吗? – Eithos 2015-02-09 23:40:02
我实际上并不需要文件名的子串来工作。例如'p_rgh_0'和'h_0'完全不同。我可以使用'==',比如'if if =='hf'',但是我可能会在未来增加字符串列表,所以我有更多以'h'开头的包括'h_0'。 – hypersonics 2015-02-09 23:46:21