我只想为gensim中的扩展名加载文件。
正常代码是这样:
model = gensim.models.word2vec.Word2Vec.load("news.bin")
但是我希望它使用“ .bin”自动打开任何文件。
示例:
model = gensim.models.word2vec.Word2Vec.load(***I would like to change this part to only load any .bin***)
.bin文件:
它可以是“ news.bin”,“ file.bin”或“ guess.bin”。只要它仅加载扩展名。谢谢。
答案 0 :(得分:1)
glob
库非常适合:
from glob import glob
for file_name in glob('*.bin'):
model = gensim.models.word2vec.Word2Vec.load(file_name)
这将根据Unix样式路径名模式扩展遍历所有与*.bin
匹配的文件。
答案 1 :(得分:1)
如果要一个一个地打开 ALL ,可以遍历目标目录中的文件。
这是Python 3的代码示例。
import os
directory_path = "/path/to/directory"
for filename in os.listdir(directory_path):
if filename.endswith(".bin"):
file_path = os.path.join(directory_path, filename)
model = gensim.models.word2vec.Word2Vec.load(file_path)
# Do whatever you want to do with model
如果您只想打开其中的任何一个,则可以在第一个匹配项后退出for循环:
import os
directory_path = "/path/to/directory"
for filename in os.listdir(directory_path):
if filename.endswith(".bin"):
file_path = os.path.join(directory_path, filename)
model = gensim.models.word2vec.Word2Vec.load(file_path)
# Do whatever you want to do with model
# Break out of the for loop afterwards so it stops iterating
break