Python 2.7 什么是TypeError:';文件';对象没有属性'__获取项目';什么意思?

Python 2.7 什么是TypeError:';文件';对象没有属性'__获取项目';什么意思?,python-2.7,file,syntax-error,Python 2.7,File,Syntax Error,我有以下代码: My_Directory = r"/Users/schuylerraeschroerborges/Desktop/Mars_Project/mcam_image_and_label/0984MR0043380090502893E01_DRCL" # Get data from directory My_Extension = ".LBL" WorkingDirectory = "/Users/schuylerraeschroerborges

我有以下代码:

     My_Directory = r"/Users/schuylerraeschroerborges/Desktop/Mars_Project/mcam_image_and_label/0984MR0043380090502893E01_DRCL"     # Get data from directory
     My_Extension = ".LBL"

     WorkingDirectory = "/Users/schuylerraeschroerborges/Desktop/Mars_Project/"  # Work in same directory

     f = open('mcam_image_and_label/0984MR0043380090502893E01_DRCL.LBL','r')    # Open label file
     lines = f.readlines() #index lines
     g = open('Expanded_data.csv','w+')   # Write in excel spreadsheet
     lines = g.readlines()


     ID_line = f[21]
     ID = re.split('"',f[21])[2]
     LO_line = f[134]
     LO = re.split('(',f[134])[2]
     DI_line = f[442]
     DI = re.split('=',f[442])[2]
     AZ_line = f[445]
     AZ = re.split('=',f[445])[2]
     VE_line = f[446]
     VE = re.split('=',f[446])[2]
     newline = ID + '\t' + LO + '\t' + DI + '\t' + AZ + '\t' + VE + '\n'
     g.writelines(newline)

在Python 2.7中运行代码后,我一直得到这个错误,TypeError:“file”对象没有属性“\u getitem\uuuu”。这个错误意味着什么?是否需要更改文件名或其他内容?

您正在尝试索引对象
f
,该对象是
open()
函数返回的类似
文件的对象

在内部,索引是通过
文件
对象未实现的
特殊方法实现的,这就是您看到错误消息的原因


错误出现在您试图分配
ID_lines=f[21]
的行上,可能您想分配
行[21]

您将行存储在
行中,而不是
f
f
是文件对象。(您可能不想对输出文件调用
readlines()
)当我将“f[21]”更改为“lines[21]”:indexer:list index out ofrange@Mark:这可能是因为您正在用从
g
读取的行的空列表覆盖从
f
读取的
行(当您以模式
“w+”
打开它时,它会被截断)。