Python如果返回错误(Python if is returning wrong)
我有一个if语句来检查两个变量是否返回相同,这意味着客户端存在。 现在if语句应该是真的,我不明白为什么它不是。
client_status= subprocess.check_output("nsostatus | grep %s | awk '{ print $1 }'" %client_name, shell=True)
print client_name
print client_status
if client_name == client_status:
print "client already exist"
else:
print "client doesn't exist"
当我运行脚本时,这就是我得到的:
nagios-client
nagios-client
client doesn't exist
编辑:用repr()运行它
nagios-client
nagios-client\n
I have a if statement to check if two variables returns the same, which means the client exist. Right now the if statement should be true, I dont understand why it doesn't.
client_status= subprocess.check_output("nsostatus | grep %s | awk '{ print $1 }'" %client_name, shell=True)
print client_name
print client_status
if client_name == client_status:
print "client already exist"
else:
print "client doesn't exist"
When I run the script, this is what I get:
nagios-client
nagios-client
client doesn't exist
EDIT: Running it with repr()
nagios-client
nagios-client\n
原文:https://stackoverflow.com/questions/28648192
2020-04-19 07:04
满意答案
它可能是一个尾随的新行或空白
“\ n”
要么
“”
......试试......
if client_name.strip() == client_status.strip():
It could be a trailing new-line or whitespace
"\n"
or
" "
... try...
if client_name.strip() == client_status.strip():
2015-02-21
相关问答
您正在正确导入这些函数: from langpy import lang
from langpy import port
但是,您正在打印对这些功能的引用 ,而不是返回值。 print(str(lang))
print(str(port))
你想实际调用函数,然后打印返回的内容。 你可以这样做: print(str(lang()))
print(str(port()))
还有一组括号! 编辑:进一步观察,你也没有从你的功能返回任何东西。 尝试: def lang():
...
kFold迭代器为您提供DataFrame的训练和验证对象的位置索引,而不是它们的非连续索引。 您可以使用.iloc pandas方法访问您的火车和验证对象: kFold = KFold(n_splits=10, shuffle=True, random_state=None)
for train_index, test_index in kFold.split(dfNARemove):
train_data = dfNARemove.iloc[train_index]
test_...
正如文档所述 : ddof : int, optional
"Delta Degrees of Freedom": the divisor used in the calculation is
``N - ddof``, where ``N`` represents the number of elements. By
default `ddof` is zero.
所以你有: >>> numpy.var([0.82159889, 0.26007962, 0.098184...
将您的查询更新为: $query->where('first_name', 'like', "%".$agent_name."%");
你在LIKE的开头和结尾有一个额外的' 。 Update your query to: $query->where('first_name', 'like', "%".$agent_name."%");
You had a extra ' at the start and end of the LIKE.
如果您100%确定要处理同一个数据库,则可能正在使用较新的SQLite库版本和命令行工具。 您可以验证正在使用的版本: print sqlite.sqlite_version
在Python和 sqlite3 -version
使用命令行工具。 您可以检查sqlite3更改日志以查看是否有任何相关更改,或者您只需将SQLite3 DLL更新为最新版本,以确保您没有遇到错误或新功能。 If you are 100% certain that you are dealing with the sa...
问题是4.0不在数组中。 一个非常接近4.0的值,但略微偏离(由于浮点不准确)在数组中,当您打印它时,打印例程将四舍五入为“4.0”以进行显示。 如果你打印出实际的元素( loggs[5] ),python将以更高的精度打印,你会看到该值实际上略高于4.0 (约4.0000000000000018 )。 我建议阅读每个计算机科学家应该知道的有关浮点运算的内容,以获取更多详细信息。 The problem is that 4.0 is not in the array. A value very c...
Python不知道哪个实际参数出错,只是它是从一个延伸几行的表达式传递过来的。 它粗略地猜测了错误行( Ryan在评论中指出这似乎是表达式中最后一个非标点行),并报告错误来自那里,但它可能来自任何部分错误的表达。 举一个更简单的例子,考虑: >>> i = int(
... '#',
... base=2
... )
...
----------------------------------------------------------------...
您面临的问题是$_POST['row_driver']不是数组。 如果您有一个隐藏的HTML输入:
...然后$_POST['row_driver']将是一个字符串,例如: $_POST['row_driver'] = "Array ( [0] => d1 [1] => d2 [2] => d3 [3] => d5 )";
因此,你的count()函...
使用命令模块,它将返回相同的结果。 import commands
commands.getstatusoutput('stat /fooDir')
I figured out the inode number was intended to be an unsigned long, but om.stat was interpreting as a negative number because the MSB was set. So now that I know its sup...
它可能是一个尾随的新行或空白 “\ n” 要么 “” ......试试...... if client_name.strip() == client_status.strip():
It could be a trailing new-line or whitespace "\n" or " " ... try... if client_name.strip() == client_status.strip():
相关文章
HDFS是一个分布式文件系统,然而对于程序员来说,HDFS就是一个普通文件系统,Hadoop进行的底层
...
Python 编程语言具有很高的灵活性,它支持多种编程方法,包括过程化的、面向对象的和函数式的。但最重
...
python2和python3的区别,1.性能 Py3.0运行 pystone benchmark的速
...
Python的文件类型 Python有三种文件类型,分别是源代码文件、字节码文件和优化代码文件
源代
...
python的官网:http://www.python.org/ 有两个版本,就像struts1和st
...
好久没有写了,还不是近期刚过的期末考试和期中考试 最近因为一个微信公众平台大赛在学phthon 找了本
...