'NoneType'对象不可订阅\\数字运算

时间:2017-01-31 15:47:12

标签: python-3.x

我的代码的目标是简单地打开包含记录数据的文件,读取它,然后打印第二行而不关闭文件。下面是我输入的代码。

['X_Value', 'M.LM.T', 'VapPres.T', 'CCS.F1.T', 'CCS.F2.T', 'CCS.F3.T', 'AB.F4.T', 'CCS.F5.T', 'AB.M1.T', 'AB.M2.T', 'AB.M3.T', 'AB.M4.T', 'AB.M5.T', 'M.LM.R', 'CCS.F1.R', 'CCS.F2.R', 'CCS.F3.R', 'AB.F4.R', 'CCS.F5.R', 'AB.M1.R', 'AB.M2.R', 'AB.M3.R', 'AB.M4.R', 'AB.M5.R', 'Flow.SLM', 'M.LM.R 1', 'VapPres.P', 'VapPres2.P', 'Comment', '', '', '', '\n']
Traceback (most recent call last):
  File "C:/Users/Tristan/Desktop/data informatics/test.py", line 16, in <module>
    print (line.split("\t"))[1]
  TypeError: 'NoneType' object is not subscriptable

程序最终运行,但返回以下内容。第一个打印的索引就是我想要的。

   print (line.split("\t")[1])

当我尝试

   print (line.split("\t")[1])

a.replaceAll("\\[\\[(\\*\\*\\w+\\*\\*).*?\\]\\]", "$1");

它打印整个列。

我应该采取哪些措施来消除'NoneType'TypeError?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作以忽略行尾的空格:

with open("dataset.txt", 'r') as f:
    for line in f:
        print ((line.rstrip().split("\t"))[1])
  

string.rstrip(s [,chars])

     

返回删除了尾随字符的字符串副本。如果是chars   省略或无,删除空白字符。