我正在使用来自nltk的 nltk-data 中包含的一些语料库来找出某些算法。
所以我的代码通常是这样的:
import re, nltk, random
from nltk.corpus import reuters
def find_test_and_train_data():
return [fileid for fileid in reuters.fileids() if re.match(r"^training/", fileid)], [fileid for fileid in reuters.fileids() if re.match(r"^test/", fileid)]
def generate_random_data(train_and_test_fileids):
random.seed(348) ; random.shuffle(train_and_test_fileids[0])
return train_and_test_fileids[0][2000:], train_and_test_fileids[0][:2000]
def fileid_words(fileid):
return [word.lower() for line in reuters.words(fileid) for word in line.split() if re.match('^[A-Za-z]+$', word)]
if __name__ == '__main__':
train_fileids, dev_fileids = generate_random_data(find_test_and_train_data())
train_data=fileid_words(train_fileids)
dev_data=fileid_words(dev_fileids)
因此,如果我将它运行到交互式解释器中,我就可以在 及其相应的文件 ID 上执行任务train_data
,dev_data
而无需重新填充变量(一项非常耗时的任务)。
但是,我希望能够将其写入.py文件,以便我可以保存统计上有趣的算法。
我可以通过双重输入来做到这一点,例如:当我得到一个在解释器中工作的函数时,我将它复制并粘贴到 .py 文件中,但这非常低效,而且我失去了 IDE 的功能。
是否有任何 IDE 或 Python 模块可以自动使 Python 脚本在内存中运行,或者将变量的值(例如)存储在test_data
数据库中?
感谢所有建议