首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Nodejs到Python的数据交换不能正常工作

从Nodejs到Python的数据交换不能正常工作
EN

Stack Overflow用户
提问于 2020-01-19 10:21:47
回答 1查看 42关注 0票数 0

我已经使用Nodejs为对话框创建了一个webhook。

现在,我需要调用一个Python文件来总结文本。对于此操作,我使用python。作为一个论点,我增加了我想要缩短的文本。

问题是,例如,除了"v roce“之外,正确地发送了有关缺陷编制的文本。Python将以"v\xa0roce".的形式接收它剩下的课文没问题。其他文本可能存在不止一个这样的问题。

我试图用与命令行中的参数相同的文本调用Python,但没有出现这个问题。

Nodejs中的代码示例

代码语言:javascript
运行
复制
            var options = {
              mode: 'text',
              args: result
            };

            await PythonShell.run('summary.py', options, function (err, results) {
              if(err){
                console.log(err);
                callback(result);
              }
              // results is an array consisting of messages collected during execution
              else{
                result = results.toString();
                let output = {
                  fulfillmentText: result,
                  outputContexts: []
                };
                result = JSON.stringify(output);
                callback(result);
            }
            });

如果我在Python代码的开头调用print (sys.argv [1]),我会得到以下内容

P诉roce 1618,kdy nespokojeníprotestanštístodr z okna dva královskémístodržícía k tomutočinu sepsaliáhlou。

这看起来不错,但做完这件事后

代码语言:javascript
运行
复制
article = filedata.split(". ")
sentences = []

for sentence in article:
    sentences.append(sentence.replace("[^a-zA-Z]", " ").split(" "))
sentences.pop()

print(sentences)

return sentences

以下内容将返回

"['Defenestrace‘、'označuje’、'násilné‘、'vyhození’、'z‘、'okna’、'Původ‘、'slova’、'je‘、'odvozován’、'od‘、'pražské’、'defenestrace‘、'v\xa0roce','1618、'kdy’、'nespokojení‘、'protestanští’、'stavové‘、'vyhodili’、'z‘、'okna’、'dva‘、’dva‘、’královsk ',“aístodržící“、a‘、k’、'činu‘、'sepsali’、'obsáhlou‘、’道歉‘、'Ovšem’、've‘、'středověku’、'a‘、'v’、'raném‘、'novověku’、'se‘、'defenestrace’、'konaly‘、’poměrně‘,’často‘、'a’、'toto‘、'konání’、'neslo‘、'prvky',‘lenče ','ordálu','a','společně','spáchané','vraždy','Ve','středověké','a','raně','novověké','společnosti,','která','je',’v拉赞ě',‘horizontálně’,‘členěna,'má','defenestrace','charakter',’符号‘,'trestu']“

我使用generate_summary(sys.argv[1], 2)调用这个Python代码。

如果我输入"TEXT ABOUT Defene体外“而不是sys.argv[1],则不会出现此问题,并显示为"v roce”。

有人能帮我吗?

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2020-01-19 10:29:00

替换中不支持正则表达式,您需要使用回复模块,如下所示:

代码语言:javascript
运行
复制
 re.sub("[^a-zA-Z]", " ", your_string)

然后把结果分成几个字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59809120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档