在 Python stdout 中测试新行
Testing for new line in Python stdout
我有一个脚本,在其中我很难测试来自远程命令的标准输出的换行符。
OUT = stdout.readlines()
print OUT
if ['\n'] in OUT:
print "/disk/var/log/app directory deleted"
else:
for line in OUT:
print line.strip()
如果目录被删除,OUT 的结果是['\n']。无论我尝试什么,我都无法识别 if 语句中的 ['\n']。
现在您正在检查列表 ['\n']
(即仅包含一个元素 '\n'
的列表)是否包含在 OUT
中
readlines() returns 一个字符串列表。它永远不会 return 一个包含列表的列表,所以 ['\n'] in OUT
不应该评估为真。你可能想做
if OUT == ['\n']:
或
if '\n' in OUT:
我有一个脚本,在其中我很难测试来自远程命令的标准输出的换行符。
OUT = stdout.readlines()
print OUT
if ['\n'] in OUT:
print "/disk/var/log/app directory deleted"
else:
for line in OUT:
print line.strip()
如果目录被删除,OUT 的结果是['\n']。无论我尝试什么,我都无法识别 if 语句中的 ['\n']。
现在您正在检查列表 ['\n']
(即仅包含一个元素 '\n'
的列表)是否包含在 OUT
readlines() returns 一个字符串列表。它永远不会 return 一个包含列表的列表,所以 ['\n'] in OUT
不应该评估为真。你可能想做
if OUT == ['\n']:
或
if '\n' in OUT: