我正在读取一个简单的文本文件,该文件将包含三组字符串值
详情如下:
"1234567","ABC123456",""
我的代码如下,试图检查空字符串,输入字符串如上,我永远不能让它显示"Testd is Empty",知道为什么测试失败吗?:
- FileData = open(filename, "r")
- Filecontents = FileData.readline().strip()
- FileData.close()
-
- testid = FileContents.split(",")[2]
- if (testid == ""):
- print "testid is empty"
- else:
- print "testid has value"
# 回答1
我不确定,但首先你应该把它放在代码括号中,当你发帖时。
你为什么要把它脱两次?也许我错了,但我认为你应该脱掉它一次。
除此之外,我不知道,也许更有经验的人可以回答这个问题。
# 回答2
你是正确的。您可以使用
#
按钮进入增强模式。谢谢你的投入。
# 回答3
这是一个非常好的问题,因为:
>testStr="您好,世界,"
>testList=testStr.plit(",")
>测试列表
['你好','世界','']
>测试列表[2]==""
千真万确
>>>
追踪这些东西的最好方法是像我在这里所做的那样制作大量的委托,并在您进行时打印它们。
寻找一个空的
# 回答4
最好是显示文件内容的样例。
是这样的吗?:
- "1234567", "ABC123456", ""
-
如果是,则当您读取文件并将其拆分时,双引号""将是字符串类型,其长度为2。空字符串的长度应为0。您还可以检查len(Testd)==0是否为空字符串。
此外,您还可以放置一些打印语句,以便调试代码
- ....
- testid = FileContents.split(",")[2]
- print "testid value " , testid , type(testid), "length" , len(testid)
- ....
-
# 回答5
我以交互方式完成此操作,作为从文件中读取以下文字字符串的示例:
- "1234567", "ABC123456", ""
- >>> s = raw_input()
- >>> s
- '"1234567", "ABC123456", ""'
- >>> sList = s.replace('"', '').split(', ')
- >>> sList
- ['1234567', 'ABC123456', '']
- >>> sList[2]
- ''
- >>> len(sList[2])
-
- >>>
好建议,幽灵狗。
# 回答6
检查它是否空的最简单的方法很简单:
- _string = ""
-
- if len(_string) <= 0:
- print "Empty String"
- else:
- print "Not Empty String"
-
- Output:
- Empty String
-
# 回答7
即使是摩尔人最简单的方法也是简单地做
- string = ""
-
- if string:
- do stuff
-
将不会执行填充操作,因为空字符串为FALSE
- >>> s = ""
- >>> if s:
- print "a"
-
-
- >>>
- >>> bool("")
- False
- >>> bool("a")
- True
- >>>
顺便说一句,哇,尸检,就像老板一样。