分享一个按行写入和读取datasets的经典函数

按行写入

def write_vocab(vocab, filename):
 """Writes a vocab to a file

 Writes one word per line.

 Args:
   vocab: iterable that yields word
 filename: path to vocab file

 Returns:
   write a word per line

 """
print("Writing vocab...")
with open(filename, "w") as f:
  for i, word in enumerate(vocab):
    if i != len(vocab) - 1:
      f.write("{}\n".format(word))
else:
  f.write(word)
print("- done. {} tokens".format(len(vocab)))

读取

def load_vocab(filename):
   """Loads vocab from a file

 Args:
   filename: (string) the format of the file must be one word per line.

 Returns:
   d: dict[word] = index

 """
try:
 d = dict()
with open(filename) as f:
 for idx, word in enumerate(f):
   word = word.strip()
 d[word] = idx

 except IOError:
   raise MyIOError(filename)
return d

你可能感兴趣的:(分享一个按行写入和读取datasets的经典函数)