我想首先创建文件的副本,然后检查文件的大小,如果大小小于1 MB,然后在文件末尾添加空格以使其大小为1 MB。
我已复制了using下面的代码,但是在文件末尾添加空格时我得到了任何帮助。
from shutil import copyfile
copyfile(self.actualfile,self.copyfile)
您可以这样做:
import os
filename = 'file.txt'
size = os.stat(filename).st_size
f = open(filename, "a+")
f.write(" " * (1024*1024 - size))
f.close();
这使用较新的Python中的pathlib
来简化获取文件的大小并添加完全您想要的填充。
#!/usr/bin/env python
import pathlib
import shutil
destfile = pathlib.Path("/tmp/foo")
shutil.copyfile(__file__, destfile)
required_padding = 1024 * 1024 - destfile.stat().st_size
if required_padding > 0:
with destfile.open("ab") as outfile:
outfile.write(b" " * required_padding)
with open(self.actualfile, 'r') as fin:
with open(self.copyfile, 'w') as fout:
print('{:<1048756}'.format(fin.read()), file=fout)
您可以尝试以下方法:
actual_size = os.path.getsize(self.copyfile)
x = " " * (int(size)-actual_size)
with open(self.copyfile, "a", encoding="utf-8") as f:
f.write(x)
print("Size (In bytes) of '%s':" %os.path.getsize(self.copyfile))