Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I don't really get why you want to use a separate class named File.</p> <p>As Michael0x2a said, you did'nt put a document tag, so it won't work (I don't think Word 2007 can read your file too)</p> <p>But here is the corrected code:</p> <pre><code>from lxml import etree try: import docx except ImportError: from docx import docx class File(object): def makeelement(tagname, tagtext=None, nsprefix='w', attributes=None, attrnsprefix=None): '''Create an element &amp; return it''' # Deal with list of nsprefix by making namespacemap namespacemap = None if isinstance(nsprefix, list): namespacemap = {} for prefix in nsprefix: namespacemap[prefix] = nsprefixes[prefix] # FIXME: rest of code below expects a single prefix nsprefix = nsprefix[0] if nsprefix: namespace = '{'+nsprefixes[nsprefix]+'}' else: # For when namespace = None namespace = '' newelement = etree.Element(namespace+tagname, nsmap=namespacemap) # Add attributes with namespaces if attributes: # If they haven't bothered setting attribute namespace, use an empty # string (equivalent of no namespace) if not attrnsprefix: # Quick hack: it seems every element that has a 'w' nsprefix for # its tag uses the same prefix for it's attributes if nsprefix == 'w': attributenamespace = namespace else: attributenamespace = '' else: attributenamespace = '{'+nsprefixes[attrnsprefix]+'}' for tagattribute in attributes: newelement.set(attributenamespace+tagattribute, attributes[tagattribute]) if tagtext: newelement.text = tagtext return newelement def __init__(self): super(File,self).__init__() self.document = self.makeelement('document') self.document.append(self.makeelement('body')) f = File() relationships = docx.relationshiplist() title = 'File' subject = 'A very special File' creator = 'Me' keywords = ['python', 'Office Open XML', 'Word'] coreprops = docx.coreproperties(title=title, subject=subject, creator=creator, keywords=keywords) appprops = docx.appproperties() contenttypes = docx.contenttypes() websettings = docx.websettings() wordrelationships = docx.wordrelationships(relationships) docx.savedocx(f.document, coreprops, appprops, contenttypes, websettings, wordrelationships, 'file.docx') </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload