分享一个按行写入和读取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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容