【发布时间】:2018-02-08 10:18:25
【问题描述】:
我正在尝试从文件中读取字符串并查找以"'param." 开头的单词这是我的代码:
# -*- coding: utf-8 -*-
inputfile = open('abc.json', 'r')
fieldnametemp = []
for line in inputfile:
for word in line.split():
if(word == "'fieldname':"):
fieldnametemp.append(line.split(':')[1])
for element in fieldnametemp:
print element
if(element.startswith("'param.")):
print 1
else:
print 0
这是我的输出:
'param.design_key',
0
'param.abc',
0
'param.def',
0
即使它以“'param”开头。它打印 0。
我也试过用
if(element.split('.')[0] == "'param."):
而不是
if(element.startswith("'param.")):
但是输出是一样的。出了什么问题,我该怎么办?
【问题讨论】:
-
print repr(element)能得到什么?我怀疑该字符串不是您认为的那样(可能是空格、unicode 字符等?) -
可能是您的问题中的缩进错误,但看起来元素实际上以空格开头
-
是否有某些原因您没有反序列化 JSON 并操作 Python 对象以获得您想要的?
-
试试
if "'param." in element:作为测试。 -
是的,好像有空格。
标签: python string comparison python-2.x python-2.6