2016-12-19 59 views
-2

我想做一个函数来对文件中的数据进行排序并将其放入字典中。我做了以下几点:Python,对文件进行排序

def fileread(filename, filetype, readlist): 
returnslist = {} 
with open(filename + "." + filetype, "r") as f: 
    for line in f: 
     for entry in readlist: 
      if(line[:(entry.len() + 2)] == entry): 
       returnslist[entry] = line[(entry.len() + 2):] 

目前我使用的笔记本电脑不能使用Python,所以我正在使用一个联机IDE,它无法使用文件。这会工作吗?我想让这个文件像一个配置文件一样工作。例如:

Int1: 2 
Int2: 12 
Int3: 32 
Int4: 65 
Str1: Lol 
Bool1: True 

我的代码应该使词典:

{"Int1": "2", "Int2": "12", "Int3": "32", "Int4": "65", "Str1": "Lol", "Bool1": "True"} 

是否有这样做的更清洁的方式?我想不出任何。你也可以看到这个错误吗?

+1

您可以使用文件格式创建一个简短的最小字符串,并使用io.StringIO模拟文件以查看代码的工作方式。 https://docs.python.org/3/library/io.html#io.StringIO – wwii

+0

如果你想使用在线IDE上的文件,请尝试https://www.tutorialspoint.com/execute_python3_online.php – shash678

+0

if你需要像“配置文件”,然后更好地使用'pickle','YAML'或'JSON'。 – furas

回答

0
import yaml 

my_data = """ 
    Int1: 2 
    Int2: 12 
    Int3: 32 
    Int4: 65 
    Str1: Lol 
    Bool1: True 
""" 

data_dict = yaml.load(my_data)