Angularjs AttributeError:Word.Application.Documents与Flask应用程序中的win32.com

Angularjs AttributeError:Word.Application.Documents与Flask应用程序中的win32.com,angularjs,python-3.x,flask,win32com,Angularjs,Python 3.x,Flask,Win32com,我正在开发一个web应用程序,它接受word文件并执行标记化。 我注意到文档从angularJS正确地传递到Flask,但有一个错误我无法解释: Traceback (most recent call last): File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File

我正在开发一个web应用程序,它接受word文件并执行标记化。 我注意到文档从angularJS正确地传递到Flask,但有一个错误我无法解释:

Traceback (most recent call last):
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\flask\app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "app.py", line 43, in tokenizer
    myDoc = word.Documents.Open(pathToProc, False, False, True) #stackoverflow
  File "C:\Users\AOUP\MiniAnaconda\lib\site-packages\win32com\client\dynamic.py", line 527, in __getattr__
    raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: Word.Application.Documents
文档通过
angularJS
传递,代码如下:

var f = document.getElementsByTagName("form")[0].children[1].files[0].name;
if (f != ""){
    $http({
        url: '/tokenizeDoc', 
        method: "GET",
        params: {doc : f}
    });
}
随后,Flask使用以下脚本读取它,错误与错误注释一致:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import string
import win32com.client
import nltk
import os
from collections import Counter
from pywintypes import com_error
from flask import request, Flask, render_template, jsonify

word = win32com.client.Dispatch("Word.Application")
word.Visible = False

app = Flask(__name__)
@app.route('/')
def landingPage():
    return render_template('homepage.html')

@app.route('/tokenizeDoc', methods = ['GET'])
def tokenizer():
    if request.method == 'GET':
        pathToProc = request.values.get("doc")
        sent_tokenizer = nltk.data.load('tokenizers/punkt/italian.pickle')
        it_stop_words = nltk.corpus.stopwords.words('italian') + ['\n', '\t', '']
        trashes = it_stop_words + list(string.punctuation)
        tokensTOT = []
        try:
            myDoc = word.Documents.Open(pathToProc, False, False, True) #ERROR!!!
            sentences = sent_tokenizer.tokenize(word.ActiveDocument.Range().Text)
            myDoc.Close()
            del myDoc
            for sentence in sentences:
                tokensTOT = tokensTOT + [t.lower() for t in nltk.word_tokenize(sentence) 
                                         if t.lower() not in trashes]
        except com_error:
            print('IMPOSSIBILE DECIFRARE IL FILE')
        return ''
我希望win32com库与web框架不兼容,有人可以给我一个答案。


非常感谢。

使用
os.path.abspath(pathToProc)
而不是
pathToProc myDoc=word.Documents.Open(pathToProc,False,False,True)#错误

使用
os.path.abspath(pathToProc)
而不是
pathToProc myDoc=word.Documents.Open(pathToProc,False,False,True)#错误

没有亮起的行。你能不能也包括例外信息我输入了完整的回溯并放上注释,而不是高亮显示?你能不能也包括定义在哪里的单词script@jan-如果你知道的话,塞恩斯会让我知道的……没有电话线。你能不能也包括例外信息我输入了完整的回溯并放上注释,而不是高亮显示?你能不能也包括定义在哪里的单词script@jan-如果你知道的话,让我知道。。。