带有 python 列表和拆分的 IndexError 消息

2024-01-09

我正在尝试学习 python 并深入研究字符串函数。作为一个简单的例子,我写了这个

# example line
# username:*:231:-2:gecos field:/home/dir:/usr/bin/false

FILENAME = "/etc/passwd"

filehandle = open(FILENAME, 'r')

lines = filehandle.readlines()

for line in lines:
        line = line.rstrip()
        fields = line.split(':')
        print fields[0]

这个例子每次都有效并给我一个用户名。列表中的第一个字段。

这也适用 [0:6] 并打印所有字段。 [:1] 还打印用户名。 [-1] 还打印最后一个字段。

问题是 [1]、[-2]、[2] 等会导致此错误

文件“splits.py”,第 16 行,位于 打印字段[-2] IndexError:列表索引超出范围

我在这里做错了什么吗?我确信这很愚蠢,但我正在查看的示例表明我可以做到 [1]、[2] 等等。

我不认为我的输入混乱,因为 /etc/passwd 和 [0] 和 [-1] 有效。

非常感谢。


听起来你的文件中有一些空行,也许在最后。

Example:

>>>line = ''
>>>fields = line.split(":")
>>>print fields[0]
''
>>>print fields[-1]
''
>>>print fields[0:6]
''
>>>print fields[1]
IndexError: list index out of range

你可以这样修复它:

for line in lines:        
    line = line.rstrip()
    fields = line.split(':')
    if len(fields) == 1:
        continue
    print fields[0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 python 列表和拆分的 IndexError 消息 的相关文章

随机推荐

  • dataType 与接受 - Ajax 请求

    我试图理解 Ajax 请求中的 Accept 和 dataType 之间的区别 文件指出 文档 http api jquery com jquery ajax 接受 默认值 取决于数据类型 类型 普通对象 请求标头中发送的内容类型 告诉服务
  • VS 2012 SSDT 构建 CLR,IEnumerable 生成的语法失败

    我正在尝试重用找到的一些代码here http www pawlowski cz 2010 09 sql server 2005 and sql server 2008 regular expressions and pattern mat
  • 在 R 中绘制多元逻辑回归模型的结果

    我想绘制针对调整后的特定自变量 即独立于模型中包含的混杂因素 与结果 二元 关系的多元逻辑回归分析 GLM 的结果 我看过推荐使用以下方法的帖子predict命令后跟curve 这是一个例子 x lt data frame binary o
  • 如何使用实体框架 6 执行全文搜索

    我有疑问 var query DataContext Fotos Where x gt x Pesquisa Contais myTerm 生成的SQL是 SELECT FROM Fotos AS Extent1 WHERE Extent1
  • 在 WebClient 中接受 Cookie?

    我刚刚开始尝试 C WebClient 我所拥有的是下面的代码 它从网站获取 html 代码并将其写入 txt 文件中 我遇到的唯一问题是 某些网站要求您在使用该网站之前接受 cookie 这导致的原因是它没有将真正的网站 html 代码写
  • Sharpsign 等号阅读器宏的示例?

    我见过这个使用过一次 但无法理解它的作用 参考文献说它是 n object读取为以 object 作为其打印表示的任何对象 然而 该对象被标记为 n 这是必需的 无符号十进制整数 可通过语法 n 进行参考 标签的范围是最外层正在读取的表达式
  • 计算/异步数据获取

    我正在尝试创建简单的 Vue CouchDB 应用程序 使用 Vanilla JS 可以正常工作 但我无法通过 Promise 或异步函数从数据库获取数据到我的 vue 实例 这是我的代码 app html div table thead
  • Cassandra 中写入总是比读取快吗?

    我在听这次演讲 https www youtube com watch v zyZ35YyT 8Cassandra 中的数据建模 演讲者的总体说法是 Cassandra 中的写入速度比读取速度快 这种情况总是正确的吗 如果是这样为什么 尽管
  • Python 分布式计算(作品)

    我正在使用旧线程发布试图解决相同问题的新代码 什么构成了安全的泡菜 this http docs python org library crypto html sock py from socket import socket from s
  • _Bool 和 bool:如何解决使用 _Bool 的 C 库的问题?

    我用 C 语言编写了一系列数据结构和函数 其中一些使用 Bool 数据类型 当我开始时 该项目将是纯 C 的 现在我正在研究使用基于 C 的 GUI 工具包 并将后端代码放入库中 但是 在编译 C GUI 时 编译器会发出以下错误 ISO
  • Angular ng-submit 被调用两次

    我有一个有角度的表单 其提交方法被击中两次 我不明白为什么 我对 Angular 还很陌生 所以我可能忽略了一些相当简单的东西 Html div div
  • 如何完全禁用 WooCommerce 产品类型的运输?

    我想禁用为特定产品类型选择运输方式的要求 此处为 预订 产品类型 在结账时 因此 他们应该能够购买无需运输方式的产品 要在购物车中有特定产品类型时完全禁用运输 您将使用以下命令 add filter woocommerce cart nee
  • 自定义 Flutter Service Worker

    Flutter 自动生成 Service Workerflutter service worker js在为网络构建时 但我想为第三方路由添加我自己的获取 缓存规则 我怎样才能做到这一点 到目前为止 我发现的唯一解决方法是制作一个脚本来后处
  • JavaScript 中的“双波浪号”(~~) 运算符是什么? [复制]

    这个问题在这里已经有答案了 我在一些代码中看到了这一点 但我不知道它的作用 var jdn function y m d var tmp m lt 2 1 0 return 1461 y 4800 tmp 4 367 m 2 12 tmp
  • -Android 3 浏览器中的 webkit-tap-highlight-color

    我们有一个包含许多输入的表单 每当我点击表单时 它就会突出显示为灰色 I have webkit tap highlight color rgba 255 255 255 0 我也使用了rgba 255 255 255 0 这会在 iOS5
  • Microsoft.Graph 获取组的所有用户

    我正在使用 Microsoft Graph 我想返回特定组中所有用户的列表 我找不到任何关于此的易于理解的信息 我尝试过使用 Request Expand x gt x Members 但这只返回 20 个用户 并且它们不会被分页 参见he
  • React-bootstrap 按钮 bsStyle

    好吧 我显然错过了一些东西 但现在无法弄清楚 import React from react import Button from react bootstrap let App React createClass render funct
  • 在 Cors 中发送原始 cookie 不适用于 VideoJS

    我有以下子域 stream example com sub example com 这两个域都有 SSL 证书并且有效 我在用videoJS 7 6 6其中有http streaming https github com videojs h
  • 如何检查Android中指纹认证的设备兼容性

    我正在使用 android 6 0 api 进行指纹身份验证 我的要求是 如果当前设备支持指纹认证 那么我将进行指纹认证 否则将使用正常方式登录应用程序 所以 任何人都可以告诉我 如何检查 Android 中指纹认证的设备兼容性 提前致谢
  • 带有 python 列表和拆分的 IndexError 消息

    我正在尝试学习 python 并深入研究字符串函数 作为一个简单的例子 我写了这个 example line username 231 2 gecos field home dir usr bin false FILENAME etc pa