如何将多行文本粘贴到python输入中

时间:2016-01-19 23:40:46

标签: python textinput

我目前有一行输入代码:

rawdata = raw_input('please copy and paste your charge discharge data')

在Ipython中使用Enthoughts GUI并运行我的脚本时,我可以复制并粘贴预先格式化的文本,然后将\ t和\ n拉到它。当尝试将数据粘贴到脚本的终端样式版本时,它会尝试处理每行数据而不是将其作为批量接受。有帮助吗?

更相关的代码行:

rawed = raw_input('Please append charge data here: ')     
    time, charge = grab_and_sort(rawed)

def grab_and_sort(rawdata):

    rawdata = rawdata.splitlines()
    ex = []
    why = []

    for x in range(2 , len(rawdata)):  
        numbers = rawdata[x].split('\t')
        ex.append(numbers[0])
        why.append(numbers[1])

    ex = array(ex)    
    why = array(why)  

    return (ex, why)

1 个答案:

答案 0 :(得分:4)

raw_input接受任何输入,直到输入新的换行符

最简单的方法就是要求它接受更多条目,直到遇到文件结尾。

print("please copy and paste your charge discharge data.\n"
      "To end recording Press Ctrl+d on Linux/Mac on Crtl+z on Windows")
lines = []
try:
    while True:
        lines.append(raw_input())
except EOFError:
    pass
lines = "\n".join(lines)

然后用整批文本做点什么。