1

我正在阅读一个文本文件,我试图擦除除每行第一个单词之外的所有内容。所以,我在阅读文本文件后所做的是将它与空间分隔为分隔符,然后将单词存储在一个数组中。

现在,我对数组的计划是保存第一个单词,即位置 0 处的内容作为文本文件中的新行。然后我将有一个文本文件,其中只有原始文件的第一个单词。

我遇到的问题是将数组 [0] 写入新文本文件中的新行,然后保存该文本文件。我如何在 Python 2.7 中做到这一点?

到目前为止,这是我的代码。我不知道该怎么做的部分只是评论的部分。

import sys
import re

read_file = open(sys.argv[1]) #reads a file

for i in iter(read_file): #reads through all the lines one by one

    k = i.split(' ') #splits it by space

    #save k[0] as new line in a .txt file

#save newly made text file
#close file operations

read_file.close()
4

1 回答 1

4

使用该with语句处理文件,因为它会自动为您关闭文件。

您应该循环遍历文件迭代器本身,而不是使用file.read它,因为它一次返回一行,并且内存效率更高。

import sys
with open(sys.argv[1]) as f, open('out.txt', 'w') as out:
    for line in f:
       if line.strip():                     #checks if line is not empty
           out.write(line.split()[0]+'\n')
于 2013-06-04T02:00:33.833 回答