簡體   English   中英

自動縮進python字符串並寫入HTML文件

[英]auto-indent python string and write in an HTML file

我在python中有一個字符串,必須將其寫入HTML文件。 Python中是否有接受字符串的例程,例如

"( Root ( AB ( ABC ) ( CBA ) ) ( CD ( CDE ) ( FGH ) ) )"

並將其以縮進形式寫入HTML文件?

(Root 
    (AB
        (ABC)
        (CBA)
    )
    (CD 
        (CDE)
        (FGH)
    )
)

這是一個可以粗略組合使用的解決方案

def format(text):
  depth = 0
  result = ''
  text = text.replace(' ', '')
  for i in range(len(text)):
    c = text[i]
    if c == '(': 
      depth += 1
      result += '\n' + '  ' * depth + '('
    elif c == ')': 
      depth -= 1
      if text[i-1] != ')':
        result += ')'
      else:
        result += '\n' + '  ' * depth + ')'
    else:
      result += c
  return result.strip()

s = "( Root ( AB ( ABC ) ( CBA ) ) ( CD ( CDE ) ( FGH ) ) )"
print(format(s))

 <script src="//repl.it/embed/IS2q/5.js"></script> 

您應該了解為什么人們不那么樂於回答這個問題。 您正在進入解析部門,但忽略了它的復雜性。 為了正確地實現您的目標您需要一個原始格式的已定義語法,然后您需要根據該語法進行解析。 然后需要將生成的內部結構(即解析樹/語法樹)格式化為所需的形式。

我的建議是使用完善的標准(例如json)來表示您的數據,而不是使用自定義標准(即原始文本)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM