如何继续写入具有相同文件对象的移动文件?
How to keep writing in a moved file with the same file object?
如果我打开一个文件
fileObj = open(test.txt, 'wb+')
然后在里面写点东西
fileObj.write(someBytes)
然后决定将它移到其他地方
shutil.move('test.txt', '/tempFolder')
然后继续往里写
fileObj.write(someMoreBytes)
会发生什么?
一些观察:
/tempFolder/test.txt
的文件似乎只包含写入的第一组字节。
- 移动文件后,似乎从文件对象中删除了第一组字节
- 文件移动后对文件对象的后续写入似乎不会在
test.txt
处的磁盘上创建新文件,那么这些字节会发生什么?它们留在内存中的文件对象中?
现在我的主要问题是:如何在移动的文件上保留相同的文件对象?因为本质上文件是相同的,所以它只是改变了位置。还是不可能?
感谢您的帮助!
移动文件 shutil.move('test.txt', '/tempFolder') 后,想继续向其中添加字节,您需要创建一个新变量,指示新文件位置.
由于您将文件移动到新位置,fileObj.write(someMoreBytes) 不再写入字节,因为您最初创建的对象已被移动。因此您必须重新打开一个新文件,"continue" 向其中写入字节或如上所述指定新位置,以向现有文件添加字节。
例如:
import os
f=open('existingfile.txt', 'wb+')
f.write('somebytes')
f.close()
os.rename('currentPath\existingfile.txt', 'NewPath\existingfile.txt')
#reopen file - Repeat
fobject 不知道您移动了文件。您可以通过添加
fileObj = open("tempFolder/test.txt", "wb+")
搬家后。
如果我打开一个文件
fileObj = open(test.txt, 'wb+')
然后在里面写点东西
fileObj.write(someBytes)
然后决定将它移到其他地方
shutil.move('test.txt', '/tempFolder')
然后继续往里写
fileObj.write(someMoreBytes)
会发生什么?
一些观察:
/tempFolder/test.txt
的文件似乎只包含写入的第一组字节。- 移动文件后,似乎从文件对象中删除了第一组字节
- 文件移动后对文件对象的后续写入似乎不会在
test.txt
处的磁盘上创建新文件,那么这些字节会发生什么?它们留在内存中的文件对象中?
现在我的主要问题是:如何在移动的文件上保留相同的文件对象?因为本质上文件是相同的,所以它只是改变了位置。还是不可能?
感谢您的帮助!
移动文件 shutil.move('test.txt', '/tempFolder') 后,想继续向其中添加字节,您需要创建一个新变量,指示新文件位置.
由于您将文件移动到新位置,fileObj.write(someMoreBytes) 不再写入字节,因为您最初创建的对象已被移动。因此您必须重新打开一个新文件,"continue" 向其中写入字节或如上所述指定新位置,以向现有文件添加字节。
例如:
import os
f=open('existingfile.txt', 'wb+')
f.write('somebytes')
f.close()
os.rename('currentPath\existingfile.txt', 'NewPath\existingfile.txt')
#reopen file - Repeat
fobject 不知道您移动了文件。您可以通过添加
fileObj = open("tempFolder/test.txt", "wb+")
搬家后。