Python 按索引将列表写入文件

Python 按索引将列表写入文件,python,file,Python,File,大家好,我需要你们的帮助,所以我读取了一个文件,并将此文件中的信息保存在列表中,然后我尝试将此信息打印到另一个文件中,但只有奇偶校验索引中的信息,问题是访问此索引。如果你能帮我修一下,我会很高兴的 file_read = open("/Users/Po/Desktop/test.txt","r") file_write = open("/Users/Po/Desktop/test1.txt","w") data = file_read.read().splitlines() file_read.

大家好,我需要你们的帮助,所以我读取了一个文件,并将此文件中的信息保存在列表中,然后我尝试将此信息打印到另一个文件中,但只有奇偶校验索引中的信息,问题是访问此索引。如果你能帮我修一下,我会很高兴的

file_read = open("/Users/Po/Desktop/test.txt","r")
file_write = open("/Users/Po/Desktop/test1.txt","w")
data = file_read.read().splitlines()
file_read.close()

for i in xrange(0,len(data)):
    if i % 2 == 0:
        #print data[i]
        file_write.write(data[i])

#print len(data)
#for i in xrange(0,len(data))
file_write.close()

首先,最好使用
with
语句()处理文件。这样,您就不必在完成后关闭文件。其次,不需要将整个文件加载到内存中。只要一行一行地做:

with open("/Users/Po/Desktop/test.txt","r") as file_read, open("/Users/Po/Desktop/test1.txt","w") as file_write:
    for i, data in enumerate(file_read):
        if i % 2 == 0:
            print data
            file_write.write(data)
这应该写第一、第三、第五。。。线如果你想要第二、第四。。。使用
i%2=1


如果您没有看到打印的数据,这可能意味着如果从一个文件中读取数据并写入另一个文件,则
文件中没有任何内容

with open("/Users/Po/Desktop/test.txt","r") as file_read:
    data = file_read.read()
with open("/Users/Po/Desktop/test1.txt","w") as file_write:
    file_write.write(data)

那么,什么不起作用呢?写入文件不会打印写入文本。您可以发布一个示例,说明文件包含的内容,以及您希望输出的内容。我猜你在找第二、第四、第六。。。行,但得到第一,第三,第五。。。线如果是这种情况,那么If语句应该是
i%2==1