【问题标题】:Keep last word on each line of text file, delete rest在文本文件的每一行保留最后一个单词,删除其余部分
【发布时间】:2013-06-03 05:33:16
【问题描述】:

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

【问题讨论】:

    标签: python string file python-2.7


    【解决方案1】:

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

    【讨论】:

    • 哦,是的,我忘了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多