如何将包含空格的文件路径传递给 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 是一个写得很糟糕的软件,请将此作为错误报告给它的创建者。