我是Python的新手。
场景:
如果是苹果=重力,那么案件通过。
文件结构(test.txt)
车=停止 绿色= 苹果=重力
请提供一些建议,告诉我如何使用Python
搜索文件中的密钥值样品:
f = open('test.txt', 'r')
wordCheck="apple=gravity";
for line in f:
if 'wordCheck' == line:
print ('found')
else:
print ('notfound')
break
答案 0 :(得分:0)
使用=
检查第一个索引中是否存在apple
!如果为true,则打印第二个索引!
注意:强>
在从文件中读取行时,' \ n'角色将出现。要让你的行没有\n
从文件中读取你的内容并使用splitlines()!
要使其清洁,请从线的开头和末尾剥去空格,以避免线条开头和结尾处的空格造成的毛刺!
即,
f = open('test.txt', 'r')
for line in map(str.strip,f.read().splitlines()):
line = line.split('=')
if 'apple' == line[0]:
print line[1]
else:
print ('notfound')
输出:
notfound
notfound
gravity
希望它有所帮助!
答案 1 :(得分:0)
直接在文件中直接迭代,很好,被认为比readlines()
(或read().splitlines()
更多'Pythonic')。
在这里,我从每一行中删除换行符,然后由=
拆分以获得两半。
然后,我测试检查单词,如果存在则打印出该行的另一半。
另请注意,我已使用with
上下文管理器打开文件。即使发生异常,也可以确保文件已关闭。
with open('test.txt', 'r') as f:
wordcheck="apple"
for line in f:
key, val = line.strip().split('=')
if wordcheck == key:
print (val)
else:
print ('notfound')