我编写了这个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的所有内容都是“某处”。

最佳答案

使用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')

10-04 23:10
查看更多