2010-02-11 35 views
9
def getText(nodelist): 
    """Extracts the text between XML tags 

    I took this directly from http://docs.python.org/library/xml.dom.minidom.html. 
    For example, if I have a tag <Tag>525</Tag> this method returns me '525' 
    """ 
    rc = "" 
    for node in nodelist: 
     if node.nodeType == node.TEXT_NODE: 
      rc = rc + node.data 
    return rc 

Cung cấp cho tôi IndentationError: unindent does not match any outer indentation level(python) docstring đang gây ra thụt đầu dòng lỗi

def getText(nodelist): 
    rc = "" 
    for node in nodelist: 
     if node.nodeType == node.TEXT_NODE: 
      rc = rc + node.data 
    return rc 

Không. Tất cả những gì tôi đang làm là xóa nhận xét docstring. Chuyện gì vậy?

+0

Lưu ý rằng thường nhanh hơn: rc = [], rc.append (node.data), trả về '' .join (rc). Điều này là do bạn không cần tạo chuỗi mới mỗi lần. – EOL

+0

'return '' .join (n.data cho n trong nodelist nếu n.nodeType == n.TEXT_NODE)' –

Trả lời

12

Chuỗi tài liệu của bạn bắt đầu bằng tab. Làm cho mã của bạn chỉ sử dụng dấu cách cho thụt đầu dòng (hoặc chỉ các tab), bao gồm cả thụt đầu dòng cho các tài liệu.

+0

Vấn đề tương tự: Dòng trống phải có cùng một khoảng trắng hàng đầu như mã xung quanh. – cfi

+0

Và chúng được coi là python là ngôn ngữ mới bắt đầu, thích hợp cho thanh thiếu niên. –

+0

Tôi hiểu rằng rất nhiều người có ý kiến ​​mạnh mẽ chống lại Python nhưng nó vẫn là ngôn ngữ rất thân thiện với người mới bắt đầu! :-) –

2

Đảm bảo bạn không trộn không gian và các tab để thụt lề của bạn

Các vấn đề liên quan