第一次执行这个程序时,结果文件中除了新行之外没有任何内容。但我第二次执行它时,它会写到顺序文件'没错,但是第一次执行的新行仍然存在。为什么第一次就不能正常工作?你知道吗
bhaarat = open('bhaarat.txt', 'r+')
bhaarat_read = bhaarat.read()
out = open('out.txt', 'r+')
out_read = out.read()
bhaarat_split = bhaarat_read.split()
for word in bhaarat_split:
if word.startswith('S') or word.startswith('H'):
out.write(word + "\n")
bhaarat.write('\n23. English\n')
print out_read
print bhaarat_read
bhaarat.close()
out.close()
这是Windows的问题。解决方法(see python mailing list)是使用
在使用
+
选项之一打开的文件f
上调用read()
和write()
之间。你知道吗根据您的问题,您必须在第一次用
bhaarat_read = bhaarat.read()
读取文件后调用bhaarat.seek(bhaarat.tell())
,然后用bhaarat.write('\n23. English\n')
写入文件。你的out
也一样。你知道吗在Python3中,这个问题是固定的,所以还有一个切换的理由:)
编辑 下面的代码适用于我。文件
bhaarat.txt
和out.txt
必须同时存在。你知道吗相关问题 更多 >
编程相关推荐