Creating a file with $SIZE

Matt Nordhoff mnordhoff at mattnordhoff.com
Wed Mar 12 09:09:06 EDT 2008


Robert Bossy wrote:
> k.i.n.g. wrote:
>> I think I am not clear with my question, I am sorry. Here goes the
>> exact requirement.
>>
>> We use dd command in Linux to create a file with of required size. In
>> similar way, on windows I would like to use python to take the size of
>> the file( 50MB, 1GB ) as input from user and create a uncompressed
>> file of the size given by the user.
>>
>> ex: If user input is 50M, script should create 50Mb of blank or empty
>> file
>>   
> def make_blank_file(path, size):
>     f = open(path, 'w')
>     f.seek(size - 1)
>     f.write('\0')
>     f.close()
> 
> I'm not sure the f.seek() trick will work on all platforms, so you can:
> 
> def make_blank_file(path, size):
>     f = open(path, 'w')
>     f.write('\0' * size)
>     f.close()

I point out that a 1 GB string is probably not a good idea.

def make_blank_file(path, size):
    chunksize = 10485760 # 10 MB
    chunk = '\0' * chunksize
    left = size
    fh = open(path, 'wb')
    while left > chunksize:
        fh.write(chunk)
        left -= chunksize
    if left > 0:
        fh.write('\0' * left)
    fh.close()

> Cheers,
> RB
-- 



More information about the Python-list mailing list