Python 3:在文件中搜索特定字符串

时间:2017-06-05 11:49:39

标签: python

我有一个txt文件,其中的字符串彼此分配,例如" sun - moon"我希望获得特定字符串的指定值(无论哪一个)来自用户输入,如果不是,则为文件创建一个新对并将其写入:

user_input = input()

if user_input in open('base.txt').read():
    print(True) # it's just to be sure that everything really works
else:
    base_file = open('base.txt', 'a+')
    base_file.write(user_input)
    base_file.write('\n')
    base_file.close()

2 个答案:

答案 0 :(得分:0)

import pickle

myDictA = {'sun': 'moon'}

with open('myFile.pkl', 'w') as file:
    pickle.dump(myDict, file)

with open('myFile.pkl', 'r') as file:
    myDictB = pickle.load(file)

print("myDictA:", myDictA)
print("myDictB:", myDictB)

您还可以将gzip集成到文件保存加载过程中以节省磁盘空间(如果需要)。另一个选择是使用cPickle,它应该以相同的方式编写,据说速度提高了1000倍。

答案 1 :(得分:0)

对当前代码的一点补充。

user_input = input()
flag=1
with open('base.txt') as f:
  data=f.read()
  if user_input in data:
    print(data)
    flag=0
if flag:
  base_file = open('base.txt', 'a+')
  base_file.write(user_input)
  base_file.write('\n')
  base_file.close()