[英]How do I write to a python file from a multi-line input received in a gui?
我正在編寫一個旨在幫助我完成工作的程序,但是在設置一個將接收用戶輸入的gui然后使用該輸入將python代碼編寫到名為config.py的文件中時會遇到困難
config.py基於5個類,這些類具有多行文本,每個行都作為寫入gui中單獨幀的quicknotes。 我需要一種用戶友好的方式來編輯這些類,而不是打開我的文本編輯器(本例中為atom)並將我的quicknotes編寫成python代碼。
我已經設置了gui以接收正在編輯quicknote的文本面板,標題的文本面板以及實際筆記的多行文本面板。 但是,因為我正在手動將用戶輸入插入到config.py中,所以無論何時將多行放入正文中,它都不再正確格式化
我的configGUI.py是抓取用戶輸入並寫入config.py文件的文件,這里是代碼
qnBody_label = wx.StaticText(panel, label='Quicknote Text')
self.body_Control = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
widgets.append(qnBody_label)
widgets.append(self.body_Control)
qnTitle_label = wx.StaticText(panel, label='Quicknote Title')
self.title_Control = wx.TextCtrl(panel)
widgets.append(qnTitle_label)
widgets.append(self.title_Control)
qnBody_label = wx.StaticText(panel, label='Quicknote Text')
self.body_Control = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
widgets.append(qnBody_label)
widgets.append(self.body_Control)
quicknoteNumber = "class QN%s():" % self.number_Control.GetValue()
quicknoteTitle = "\ttitle = '%s'" % self.title_Control.GetValue()
quicknoteBody = "\tnote = (\n\t'%s'\n)" % self.body_Control.GetValue()
這是我在config.py中期待的一個例子:
class QN1():
title = "Heres the title"
note = (
'First line of quicknotes\n'
'Heres some more notes\n'
'And the last notes\n'
)
我實際收到的是:
class QN1():
title = "Heres the title"
note = (
'First line of quicknotes
Heres some more notes
And the last notes'
)
考慮到我要告訴它做什么,這是有道理的,但我不確定如何從多行文本面板獲取輸入並正確格式化為python
當您添加新行時,它的行為完全正確,它將它打印在一個新行上,您需要做的是通過在\\ n之后添加空格來自行格式化。 添加\\ t,因為這是tab的簡短版本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.