将数组写入文本文件。 Python 2.7中新行的每个元素

时间:2013-06-04 01:57:20

标签: python file python-2.7

我正在阅读一个文本文件,我试图删除除每行第一个字之外的所有内容。所以,在阅读文本文件后我正在做的是将其作为delimetre用空格分割,然后将这些单词存储在数组中。

现在,我对数组的计划是保存第一个单词,位于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()

1 个答案:

答案 0 :(得分: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')