2017-05-12 101 views
1
('fpcs', (2964, 29)) 
('fpf1', (32, 8)) 
('fnf2', (295, 29)) 
('fnf3', (4850, 89)) 
('fnf4', (567, 11)) 
('fpf3', (5660, 76)) 
('fpf2', (359, 21)) 


{'fpcs' : 29 , 'fpf1' : 8 , 'fnf2' : 29 , 'fnf3' : 89 , 'fnf4' : 11 , 'fpf3' 
: 76 , 'fpf2' : 21} 

第1部分是我的文本文件中的文本文件的内容(我不想在 内支架的第一个值): 和 第二部分是输出中 谁能帮助我PLZ提前 谢谢...如何创建一个包含从文本文件的键值对的字典

回答

1

粗步:

  • 读取文件
  • 检查inpu牛逼线
  • 创建字典

示例代码

import re 

def dict_from_file(file_path): 
    my_dictionary = {} 
    with open(file_path) as fh: # get a file handler for the file 
     for line in fh.readlines() # get each line 
      m = re.match("expression", line) # is your line in an expected form? 
      if m: # consider checking for duplicates too 
       my_dictionary[m.group(1)] = int(m.group(2)) 
      else: 
       print "could not parse line: {}".format(line) 
    return my_dictionary 

在目前的形式,你可以使用下面的正则表达式
\(\'(\w+)\', \(\d+, (\d+)\)\)

m = re.match("\(\'(\w+)\', \(\d+, (\d+)\)\)", line) 

下面是一个例子它在行动:https://regex101.com/r/nPeegL/2

相关问题