如何将包含空格的文件路径传递给 Gensim LDA Mallet 包装器?
How do I pass a file path containing spaces to the Gensim LDA Mallet wrapper?
我正在尝试使用 Gensim 的 Mallet 包装器。当我运行以下代码时:
import os
import gensim
os.environ.update({
'MALLET_HOME':
r":C\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8"
})
lda_mallet = gensim.models.wrappers.LdaMallet(
r"C:\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8\bin\mallet",
corpus=corpus,
num_topics=10,
id2word=id_dict)
我抛出以下错误:
'C:\Users\me\OneDrive' is not recognized as an internal or external command,
operable program or batch file.
subprocess.CalledProcessError: Command 'C:\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8\bin\mallet import-file --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input C:\Users\me\AppData\Local\Tempfe21_corpus.txt --output C:\Users\me\AppData\Local\Tempfe21_corpus.mallet' returned non-zero exit status 1.
经过详尽的在线搜索,我发现了很多建议的解决方案,不幸的是,这些解决方案并没有解决我的问题。
由于第一条错误消息没有打印出整个路径,我相信空格是问题的原因。
很遗憾,我的公司要求我使用这个目录,我不能更改名称。有没有办法 "escape" 空格以便 运行 我的代码?
好吧,这很简单,LdaMallet
class 是一个写得很糟糕的软件,请将此作为错误报告给它的创建者。
我正在尝试使用 Gensim 的 Mallet 包装器。当我运行以下代码时:
import os
import gensim
os.environ.update({
'MALLET_HOME':
r":C\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8"
})
lda_mallet = gensim.models.wrappers.LdaMallet(
r"C:\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8\bin\mallet",
corpus=corpus,
num_topics=10,
id2word=id_dict)
我抛出以下错误:
'C:\Users\me\OneDrive' is not recognized as an internal or external command,
operable program or batch file.
subprocess.CalledProcessError: Command 'C:\Users\me\OneDrive - My Company\Documents\Projects\Current\mallet-2.0.8\bin\mallet import-file --preserve-case --keep-sequence --remove-stopwords --token-regex "\S+" --input C:\Users\me\AppData\Local\Tempfe21_corpus.txt --output C:\Users\me\AppData\Local\Tempfe21_corpus.mallet' returned non-zero exit status 1.
经过详尽的在线搜索,我发现了很多建议的解决方案,不幸的是,这些解决方案并没有解决我的问题。
由于第一条错误消息没有打印出整个路径,我相信空格是问题的原因。
很遗憾,我的公司要求我使用这个目录,我不能更改名称。有没有办法 "escape" 空格以便 运行 我的代码?
好吧,这很简单,LdaMallet
class 是一个写得很糟糕的软件,请将此作为错误报告给它的创建者。