Python遍历文件时PyCharm报'Unresolved attribute reference'警告:是代码问题吗?
问题分析与解决:enumerate遍历文件时的PyCharm警告
你的代码写法确实有问题,PyCharm的警告是合理的,并非武断判断。
问题出在enumerate的变量顺序上:enumerate遍历可迭代对象时,每次返回的是**(行号/计数, 行内容/元素)**的元组,但你把变量顺序写反了——line, line_num导致line被赋值成了整数类型的行号,而line_num才是字符串类型的文件行内容。整数类型自然没有strip()方法,所以PyCharm会抛出这个警告。
修正后的代码如下:
with open("testfile.txt", "r") as my_list: for line_num, line in enumerate(my_list, start=1): line = line.strip() # 此处不再有警告 my_bits = line.split("|") # 后续业务逻辑
简单来说,enumerate的返回顺序是「计数在前,元素在后」,调整变量顺序就能解决这个警告,同时也避免了潜在的运行时错误。
内容的提问来源于stack exchange,提问作者Slashee the Cow
相关产品推荐
相关产品推荐

