Parsing Python拆分文本返回一个str和一个str列表
我想知道是否有人可以帮助我将文本文件拆分为键、值对的语法Parsing Python拆分文本返回一个str和一个str列表,parsing,python-3.x,text,Parsing,Python 3.x,Text,我想知道是否有人可以帮助我将文本文件拆分为键、值对的语法 Abbasso: termine con cui si indicano gli ambienti situati sotto il ponte di coperta. Abbattuta: manovra che consiste nel puggiare sino a fare prendere il vento alle vele sulle mure opposte. Abbisciare: (fr.: prendre la
Abbasso: termine con cui si indicano gli ambienti situati sotto il ponte di coperta.
Abbattuta: manovra che consiste nel puggiare sino a fare prendere il vento alle vele sulle mure opposte.
Abbisciare: (fr.: prendre la biture; ingl.: to coil) stendere un cavo o una catena come fosse una biscia in modo da evitare che si imbrogli successivamente, quando sarà posto in opera.
Abbordo: (fr.: abordage; ingl.: collision) collisione in mare. Sinonimo, poco usato, di accosto e di abbordaggio.
Abbrivo: (fr.: erre; ingl.: way-on) inerzia dell'imbarcazione a continuare nel suo movimento anche quando è cessata la spinta propulsiva, sia essa a vela che a motore.
Abbuono: (fr.: bonification, rating; ingl.: rating) compenso: (o vantaggio) dato ad una imbarcazione per permetterle di gareggiare più equamente: (ad esempio abbuono per anzianità di costruzione dello scafo).
此时我的函数给我一个键str,但给我一个值类型(list)。相反,我希望这个值也是一个str。我得到的问题是,应该是a的值在每个冒号上拆分,而不是只在最左边的冒号上拆分
def create_dict():
eng_fr_it_dict={}
f_name = "dizionario_della_vela.txt"
handle = open(f_name, encoding = 'utf8')
for line in handle:
#print(line)
if line.startswith(" ") : continue
line.lstrip()
terms = line.split(": ")
#print(terms[1:])
term = terms[0].lstrip()
expan = terms[1:]
print(type(term), type(expan))
eng_fr_it_dict[term] = eng_fr_it_dict.get(term, expan)
with open("eng_fr_it_dict.txt", "wb") as infile:
pickle.dump(eng_fr_it_dict,infile)
print(eng_fr_it_dict)
你能建议一个更聪明的方法来做这件事吗?或者我必须想出如何将str列表转换成单个str?我认为有一个内置的分裂功能,但显然不是
file = open("dizionario_della_vela.txt", "r")
data = file.read()
file.close()
data = data.split("\n") # getting every line as seperate list
myDict = {}
for line in data:
line = line.split(":")
key = line[0] # getting first element as key
value = ":".join(line[1:]) # joins elements (starting with second) with
# ":". We need this because previous line
# was splitted by ":" to get your key. This
# is where "string" value is produced.
myDict[key] = value
for key in myDict.keys():
print(myDict[key])