2016-10-09 19 views
0

私はdocxファイルのlast_saved_by属性を読み込もうとしています。私はGithubとthis questionからのコメントに続きました。サポートが追加されたようですが、ドキュメントはあまり明確ではありません。python-docxを使ってcore_propertiesを読む

私は私のスクリプトに次のコード(メモ帳++)入力した:私は「どこか分からない

NameError: name 'Document' is not defined 

:私は最後にエラーメッセージが表示されます

import docx 

document = Document() 
core_properties = document.core_properties 
core_properties.author = 'Foo B. Baz' 
document.save('new-filename.docx') 

を私は間違っています。 :(

私はそれをのpython自体を通して行ずつ入力すると、問題は二行目から出てくるようだ。

私は、Python 3.4を使用しています、とのdocx 0.8.6

+0

私はそれが 'Document'の代わりに' docx.Document'か 'docx.something.Document'だと推測しています。 – zvone

答えて

1

を考え出しました私が知りたいもののために、間違ったつもりだったここでこれを行うには、より簡潔な方法があるでしょう

from docx import Document 
import docx 

document = Document('mine.docx') 
core_properties = document.core_properties 
print(core_properties.author) 

、私は(docxファイルをインポートすると、二回開始のための冗長なようだ)確信している - しかし、それは動作しますので、私は幸せです!:)

+1

2行目が超過しています。あなたの質問はDocument not foundですが、Documentはdocxモジュールです。 'from docx import Document'とDocument(" xxx ")を直接使うことができます。 2番目に 'docx'をインポートして' docx.Document( "xxxx") 'を使うことができますが、最初のものを使うことを強くお勧めします。 – Crabime

0

docxモジュールからあなたが必要とする唯一のものがDocumentであれば、あなただけがそれ以上のものを使用している場合、あなたはより具体的な名前をインポート

import docx 
document = docx.Document() 

を使用することができます

from docx import Document 

を使用する必要がありますdocxモジュールはあなたの選択です。いずれにしても、から2行をインポートする(またはインポートする)にはdocxが必要ですが、どちらも高価ではありません。

関連する問題