我有一个名为“lexparser.bat”的文件
@echo off
:: Runs the English PCFG parser on one or more files, printing trees only
:: usage: lexparser fileToparse
java -mx150m -cp "*;" edu.stanford.nlp.parser.lexparser.LexicalizedParser -outputFormat "penn,typedDependencies" edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz %1
我有一个文字 Text = ['asdfd','ahksja',....]
我尝试将一个句子'asdf'传递给lexparser.bat,但它不起作用。
for sentence in Text:
parser = os.popen("lexparser.bat", sentence)
但是,如果我的文本采用.txt格式,则可以使用
parser = os.popen("lexparser.bat", "file.txt")
答案 0 :(得分:1)
是否可以这样做以及取决于此 lexparser 程序的语法,而不是取决于Python。
那就是说,正如@RobKennedy所说,这不是你如何将一个论点传递给os.popen()
。你可能想要os.popen("lexparser.bat file.txt")
。
或者改为使用subprocess
,因为os.popen
是deprecated。这看起来像subprocess.call(["lexparser.bat", "file.txt"])
。