Python 切片示例

15

我正在寻找一种在Python中实现类似于Unix cut命令的方法。我知道可以使用系统调用来处理数据,但我更愿意使用Python库,使其更符合Python风格。

示例文本

abcde:12345

我想按:进行分隔,并保留第二个字段:

cut -d':' -f2

生成以下内容:

12345

你有什么想法?


1
echo 'abc:123:def:456' | cut -d':' -f1,3 这样的东西怎么样?有没有可能从一个单独的 split() 方法中获取第 1 和第 3 个字段,即如何组合索引 [1] 和 [3]? - Nikos Alexandris
4个回答

18

你可以这样做:

string.split(":")[1]

其中 string 是你的文本


4

试试这个:

'abcde:12345'.split(':')[1]

3

当然:

for line in open('data.txt'):
    second_field = line.rstrip('\n').split(':')[1]

你可以使用optparse或argparse来使其更可配置,并且甚至可以编写自己的代码...请告诉我们更多关于你正在尝试做什么的信息。

如果只有两个字段,那段代码将包括一个换行符;最好在分割之前使用 line.rstrip('\n') 即 rstrip。 - John Machin
@John 谢谢,如果有其他类型的换行符号,我没有指定 \n。 - Henry
文本模式下不能有不同形式的换行符。您已经去掉了所有/任何尾随的空格,这是过度的。如果需要这样做,应该对每个感兴趣的字段进行操作。 - John Machin
@John 我没意识到文本模式的问题,谢谢 :) 我会修复它。 - Henry

-3
cut -d: -f2

尝试使用这个命令。


1
这个问题是关于如何在Python中使用剪切操作。原帖提供了您发布的终端命令作为他们想要在Python中复制的命令。 - Das_Geek
你回答了关于Linux命令的问题,但是问题是关于Python的。 - Dipankar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接