在下面的代码中,box.ather()删除了文本中的空行.有没有办法收集包括空行在内的文本?

from curses import wrapper
from curses.textpad import Textbox

def main(stdscr):
   stdscr.addstr(0, 0, "Enter text separated by empty lines: (hit Ctrl-G to send)")
   box = Textbox(stdscr)
   box.edit()
   return box.gather()
   

if __name__ == '__main__':
    s = wrapper(main)
    print(s)

推荐答案

Textbox对象包含处理此行为的带状空格属性.

摘自文档:

带状空格

此属性是一个标志,用于控制对空白的解释 在橱窗里.启用时,每行的尾随空格为 忽略;任何会使光标停留在尾随位置的光标移动 空格改为行的末尾,尾随空格是 在收集窗口内容时被剥离.

所以,你的最终代码看起来像这样:

from curses import wrapper
from curses.textpad import Textbox

def main(stdscr):
   stdscr.addstr(0, 0, "Enter text separated by empty lines: (hit Ctrl-G to send)")
   box = Textbox(stdscr)
   box.带状空格 = False
   box.edit()
   return box.gather()
   

if __name__ == '__main__':
    s = wrapper(main)
    print(s)

Python相关问答推荐

如何计算两极打印机中 * 所有列 * 的出现次数?

标题:如何在Python中使用嵌套饼图可视化分层数据?

对于一个给定的数字,找出一个整数的最小和最大可能的和

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

如何使用它?

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

Python+线程\TrocessPoolExecutor

如何并行化/加速并行numba代码?

使用groupby方法移除公共子字符串

Pandas GroupBy可以分成两个盒子吗?

如何按row_id/row_number过滤数据帧

使用嵌套对象字段的Qdrant过滤

如何从比较函数生成ngroup?

仅使用预先计算的排序获取排序元素

python3中np. divide(x,y)和x/y有什么区别?'

Scipy.linprog的可行性有问题吗?(A_ub@x0<;=b_ub).all()为True-但是-linprog(np.zeros_like(X0),A_ub=A_ub,b_ub=b_ub)不可行

按最大属性值Django对对象进行排序

更新包含整数范围的列表中的第一个元素

在不降低分辨率的情况下绘制一组数据点的最外轮廓

如何将参数名作为参数传入到函数中?