如何将此功能与 argparse 合并?

How to merge this functionality with argparse?

我有这个功能:

import codecs
from sklearn.feature_extraction.text import TfidfVectorizer
with codecs.open('/Users/user/Desktop/file.txt', encoding='utf-8') as f:
    spanish_stop_words = [line.strip() for line in f]
    print spanish_stop_words

from sklearn.feature_extraction import text
my_stop_words = text.ENGLISH_STOP_WORDS.union(spanish_stop_words)

tfidf_vect= TfidfVectorizer(stop_words=set(my_stop_words))

我一直在努力使用 argparse documentation 以便了解我可以在哪里调用上面的 "script" 但我不知道如何将它与 argparse 模块合并。另外我想在这一行中询问用户的路径:

'/Users/user/Desktop/file.txt'

如何将其与简单的 argparse 模式合并?。提前谢谢大家!

这是开始使用 argparse tutorial 的最简单方法:

import argparse
import codecs
from sklearn.feature_extraction.text import TfidfVectorizer

parser = argparse.ArgumentParser()
parser.add_argument("stop_word_list", help="The stop word list")
args = parser.parse_args()

with codecs.open(args.stop_word_list, encoding='utf-8') as f:
    spanish_stop_words = [line.strip() for line in f]
    print spanish_stop_words

from sklearn.feature_extraction import text
my_stop_words = text.ENGLISH_STOP_WORDS.union(spanish_stop_words)

tfidf_vect = TfidfVectorizer(stop_words=set(my_stop_words))

运行 你的程序 python program.py 并打印:

% python program.py 
usage: program.py [-h] stop_word_list
program.py: error: too few arguments

如果你给它提供1个参数,它会被当作文件打开作为停用词列表

% python program.py mystopwordfile.txt