在文本文件的每一行上保留最后一个字,删除其余部分

时间:2013-06-07 02:00:42

标签: python string file python-2.7

我编写了这个python脚本,它在文本文件中的每一行上保留第一个单词,然后删除其余的单词。

我怎样才能做相反的事情,意思是保留文件中每一行的最后一个字并删除之前的所有字和空格?

import sys
with open(sys.argv[1]) as f, open('out.txt', 'w') as out:
     for line in f:
         out.write(line.split()[0]+'\n')

所以如果给定文件中的一行“在某处”,那么所有保留并写入该行的out.txt的行将是“某处”。

1 个答案:

答案 0 :(得分:2)

使用line.split()[-1]来获取最后一个字。

Python支持负索引:

>>> lis = [1, 2, 3, 4, 5]
>>> n = 1
>>> lis[-n]
5
>>> lis[len(lis) - n] # equivalent to lis[-n] 
5

您的代码:

import sys
with open(sys.argv[1]) as f, open('out.txt', 'w') as out:
     for line in f:
         out.write(line.split()[-1]+'\n')